使用sed,删除两个字符之间的所有内容

时间:2012-10-27 01:33:41

标签: sed

如何删除一行中两个字符之间的符号,空格,字符,单词?

我的5行文件是:

"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.12 264 556 -    
"Skype for Macintosh" 120.94.30.9 1038 482 -
-129.94.30.4 217 309 -
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.8 1197 747 -
"¢¢HttpClient" 120.94.30.12 594 231 -

我想删除""之间的所有内容(包括"字符),以便所需的输出应为:

120.94.30.12 264 556 -
120.94.30.9 1038 482 -
-120.94.30.4 217 309 -
120.94.30.8 1197 747 -
120.94.30.12 594 231 -

2 个答案:

答案 0 :(得分:5)

你的意思是这样吗?

sed 's/"[^"]*"//' file

答案 1 :(得分:1)

 echo '"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.12 264 556 -' |\
 sed -e 's/".*"\(.*\)/\1/g'