Search a string in a file and delete it from this file by Shell Script
本问题已经有最佳答案,请猛点这里访问。
我想从文件中删除包含特定字符串的行。 如何在不使用
这应该这样做:
1 2 3 | sed -e s/deletethis//g -i * sed -e"s/deletethis//g" -i.backup * sed -e"s/deletethis//g" -i .backup * |
它会将所有出现的"deletethis"替换为所有文件中的"(nothing)"(
在第二种形式中,模式可以编辑得更安全一些,它通过用".backup"后缀来备份任何修改过的文件。
第三种形式是某些版本的
1 | sed -i '/pattern/d' file |
使用"d"删除一行。 这至少适用于GNU-Sed。
如果您的Sed没有选项,要更改文件,也许您可以使用中间文件来存储修改:
1 | sed '/pattern/d' file > tmpfile && mv tmpfile file |
直接写入源代码通常不起作用:
试试vim-way:
1 | ex -s +"g/foo/d" -cwq file.txt |