从linux中的文件中删除特定的特殊字符串

时间:2015-04-10 13:06:45

标签: linux ubuntu awk sed

我有以下表格的数据:

<_:header16125770191335188966549>       <http://www.w3.org/2006/http#date>      "Mon23Apr201213:49:27GMT"^^<>   <4> .

我想删除字符串^^&lt;&gt;从我的文件。这样生成的文件变为:

<_:header16125770191335188966549>       <http://www.w3.org/2006/http#date>      "Mon23Apr201213:49:27GMT"   <4> .

我尝试使用sed做同样的事情:

  sed 's/^^<>//g' fileName

但是,我发现字符仍然存在于文件中。有什么方法可以从我的文件中删除这些字符。

2 个答案:

答案 0 :(得分:2)

正则表达式中的

^表示行/字符串的开头。你必须将它们转义为与文字^匹配:

sed 's/\^\^<>//g' fileName

答案 1 :(得分:2)

这里的问题是^是正则表达式中的特殊字符,在此上下文中表示“行的开头”。你需要逃避它以便按字面意思使用它:

sed 's/\^\^<>//g' fileName