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