Поскольку я был раздражен первым высоко голосуемым, но неправильным ответом, я нашел достаточно, чтобы написать ответ там, и здесь неправильные ответы отмечены как таковые, вот мой бит. Мне не нравятся предлагаемые решения, так как я не вижу причин, чтобы сделать ответ таким сложным.
У меня есть журнал, где после 5 долларов с IP-адресом может быть больше текста или нет текста. Мне нужно все, от IP-адреса до конца строки, если что-то будет после 5 долларов. В моем случае это на самом деле в программе awk, а не в awk oneliner, поэтому awk должен решить проблему. Когда я пытаюсь удалить первые 4 поля, используя старый симпатичный и самый голосующий, но совершенно неправильный ответ:
echo " 7 27.10.16. Thu 11:57:18 37.244.182.218 one two three" | awk '{$1=$2=$3=$4=""; printf "[%s]\n", $0}'
выдает неправильный и бесполезный ответ (я добавил [] для демонстрации):
[ 37.244.182.218 one two three]
Вместо этого, если столбцы имеют фиксированную ширину до точки среза и awk, правильный и довольно простой ответ:
echo " 7 27.10.16. Thu 11:57:18 37.244.182.218 one two three" | awk '{printf "[%s]\n", substr($0,28)}'
, который выдает желаемый результат:
[37.244.182.218 one two three]