如何使用sed删除一些字符串

时间:2010-07-12 02:14:18

标签: linux sed

就我而言

文本:

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 个答案:

答案 0 :(得分:3)

你想做什么?这将删除从第一个'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

...结果将被转储到stdout。如果您想在新文件中使用,请使用> (废料当前内容)或>> (保持当前内容)重定向输出。

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

答案 1 :(得分:1)

如果你的CentOS上有gawk / awk,这是另一个可行的选择

awk '{gsub(/HTTP.*:/,"")}1' file