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

Deleting specific special string from file in linux

我有以下形式的数据:

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

我想从我的文件中删除字符串 ^^<>。这样生成的文件就变成了:

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

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

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

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

^ 在正则表达式中表示 line/string 的开头。您必须转义它们以匹配文字 ^s:

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

这里的问题是 ^ 是正则表达式中的一个特殊字符,在此上下文中表示 "the start of the line"。您需要转义它才能按字面意思使用它:

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