Sed命令无法按预期方式从文件中删除特定行

时间:2014-02-06 10:44:15

标签: linux bash sed centos

我尝试使用sed命令从文件中删除特定行,但它似乎在我的系统中无法正常工作(CentOS版本6.3(最终版)。

我的file1.txt包含以下数据

line1
line2
line3
line4
line5

现在我尝试使用以下命令从文件中删除第3行。

$ sed '3d' file1.txt 

以上命令的输出是

line1
line2
line4
line5

但是当我检查原始文件时,它似乎没有删除。第3行就在那里。

所以任何人都知道为什么sed无效?

2 个答案:

答案 0 :(得分:2)

让它在线sed:

sed -i.bak '3d' file1.txt

答案 1 :(得分:1)

要使用 sed 从文件中删除特定行而不创建备份:

sed -i '' -e '3,6d' file1.txt

上面的命令将从 file1.txt 中删除第 3 行到第 6 行(包括第 6 行),而不创建备份