как использовать sed, чтобы удалить строку - PullRequest
1 голос
/ 12 июля 2010

В моем случае

текст:

21 130.104.72.201 3124 HTTP [C]±ÈÀûʱ ·¨Óï³ãëÌìÖ÷½Ì´óѧ 03-05 14:34 0.238
22 129.108.202.10 3128 HTTP [C]ÃÀ¹ú µÂ¿ËÈø˹´óѧ 03-05 14:08 1.983
23 130.88.203.27 3128 HTTP [C]Ó¢¹ú Âü³¹Ë¹ÌØ´óѧ 03-05 14:08 0.996
24 129.74.152.66 3124 HTTP [C]·¨¹ú ʥĸÂêÀûÑÇ´óѧ 03-05 14:08 0.922

команда:

sed 's/HTTP.*://' ip_all02.txt

, но ничего не было удалено.

Ответы [ 2 ]

3 голосов
/ 12 июля 2010

Что вы пытаетесь сделать?Это удалит все от первого «HTTP» до последнего «:», например:

21 130.104.72.201 3124 34 0.238
22 129.108.202.10 3128 08 1.983
23 130.88.203.27 3128 08 0.996
24 129.74.152.66 3124 08 0.922

... и результаты будут выгружены в стандартный вывод.Если вы хотите его в новом файле, используйте> (удалить текущее содержимое) или >> (сохранить текущее содержимое), чтобы перенаправить вывод.

sed 's/HTTP.*://' ip_all02.txt > ip_all02_clean.txt
1 голос
/ 12 июля 2010

если у вас есть gawk / awk на CentOS, это еще один жизнеспособный вариант

awk '{gsub(/HTTP.*:/,"")}1' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...