搜索特定单词并从linux中的文件中删除它

时间:2016-08-22 13:14:15

标签: linux sed

我有一个文件(file1.txt),其中包含以下文字:

mon
tue
tue_day
tuesday
wed

我想搜索单词“tue”并将其从此文件中删除。 我用了

sed -i "/tue/d" file1.txt

但它会删除包含tue词的所有行,即第2,3和4行。我想删除唯一的第2行,其中包含我想要从文件中删除的完全相同的文本。

你可以建议吗?

1 个答案:

答案 0 :(得分:2)

告诉sed您想要的线条恰好是“tue”。怎么样?预先添加^$以表示行的开头和结尾:

$ sed '/^tue$/d' file
mon
tue_day
tuesday
wed

要替换变量中给出的内容,请使用双引号,如下所示:

var="tue"
sed -i "/^$var$/d" file