Например, если я сделал файл с Grep, которые дают мне следующий результат:Как удалить символы, такие как(), '* [] сформировать результаты grep с помощью grep, awk или sed?
16 Jan 07:18:42 (name1), xx.210.49.xx),
16 Jan 07:19:14 (name2), xx.210.xx.24),
16 Jan 07:19:17 (name3), xx.140.xxx.79),
16 Jan 07:19:44 (name4), xx.210.49.xx),
16 Jan 07:19:56 (name5), xx.140.xxx.79),
, то, как СЭД AWK или Grep, чтобы удалить все, кроме названия даты и IP, чтобы выглядеть следующим образом:
16 Jan 07:18:42 name1 xx.210.49.xx
16 Jan 07:19:14 name2 xx.210.xx.24
16 Jan 07:19:17 name3 xx.140.xxx.79
16 Jan 07:19:44 name4 xx.210.49.xx
16 Jan 07:19:56 name5 xx.140.xxx.79
Моя команда Grep выглядеть следующим образом:
grep 'double' $DAEMON | awk -F" " '{print $2" "$1" "$3" "$8" "$10}' > $DBLOG
Thx.
\ ваш друг –
Если вы не манипулируя поля тоже sed, безусловно, был бы простым способом. 'sed -n '/ double/s/foo/bar/p'' будет печатать все строки из '', содержащие 'double' с' foo', измененным на 'bar'. –
Cascabel
Обычно нет необходимости устанавливать разделитель полей в пространство, поскольку по умолчанию это включает. Вы можете сделать 'awk '{print $ 2, $ 1, $ 3, $ 8, $ 10}' плюс добавить другие вещи, такие как'/double/'и' gsub() '. –