我感兴趣的是找出一种方法来删除包含特定字符串的文本文件中的整行。这将适用于像电话簿一样运行的文本文件,其中包含姓名、地址、电话号码等
[前任]
John Smith,123 Fake St,555-555-555
我想知道如何搜索特定名称并删除包含该名称的整行。因此,对于上述示例,我将搜索“John”或“Smith”或“John Smith”,并删除包含这些单词的整行。
我会使用 grep 还是 sed 来做这个?我希望它对文件进行永久更改
答案1
您可以使用d
来自的命令sed
。
要删除所有包含单词 John 的行,你可以这样做
sed --in-place /John/d ./file
如果有多个条件,请使用-e
命令
sed --in-place -e '/John/d; /John Smith/d' ./file