2014-02-06 47 views
1

删除特定的行我已经尝试使用sed命令从文件中删除特定行,但似乎并不在我的系统工作正常(CentOS版本6.3(决赛)。sed命令不能按预期工作从文件

我FILE1.TXT包含以下数据

line1 
line2 
line3 
line4 
line5 

现在我尝试以下命令从文件中删除第三线。

$ sed '3d' file1.txt 

和上面COMM的输出并且是

line1 
line2 
line4 
line5 

但是,当我检查原始文件,那么它似乎没有删除。第三条线在那里。

因此,任何人有想法为什么sed不工作?

回答

2

让它在线sed的:

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

确定它的工作原理,所以基本上'sed'命令的工作安全首先意味着它采取原始文件的备份,然后从原来的右删除..感谢很多 –

+0

是的,这是正确的话,你会看到带'.bak'扩展名的原始文件备份。 – anubhava

+0

@anubhava:但是这个命令在busybox的sed中不起作用,您应该使用sed -i'3d'file1.txt –