我想从文件中删除包含特定字符串的行.如何在不使用的情况下执行此操作awk?我试图使用,sed但我无法实现它.
mvd*_*vds 46
这应该这样做:
sed -e s/deletethis//g -i *
sed -e "s/deletethis//g" -i.backup *
sed -e "s/deletethis//g" -i .backup *
Run Code Online (Sandbox Code Playgroud)
它将在所有文件(*)中用""(无)替换所有出现的"deletethis" ,并在适当的位置进行编辑.
在第二种形式中,模式可以编辑得更安全一些,它通过用".backup"后缀来备份任何修改过的文件.
第三种形式是某些版本sed喜欢它的方式.(例如Mac OS X)
man sed 欲获得更多信息.
use*_*own 18
sed -i '/pattern/d' file
Run Code Online (Sandbox Code Playgroud)
使用"d"删除一行.这至少适用于GNU-Sed.
如果您的Sed没有选项,要更改文件,也许您可以使用中间文件来存储修改:
sed '/pattern/d' file > tmpfile && mv tmpfile file
Run Code Online (Sandbox Code Playgroud)
直接写入源代码通常不起作用:sed '/pattern/d' file > file所以如果你怀疑的话,在试用之前复制一份.