我有一个文件:
hi:: hello hai
welcome
bye
我想删除带有单词的行hi
我尝试了以下命令:
sed -i -e "/hi/d" filename
但输出是
:: heloo hai
如何使用 sed 删除整行?那是行"hi::hello hai"
我有一个文件:
hi:: hello hai
welcome
bye
我想删除带有单词的行hi
我尝试了以下命令:
sed -i -e "/hi/d" filename
但输出是
:: heloo hai
如何使用 sed 删除整行?那是行"hi::hello hai"
使用awk
你可以做到这一点
awk '!/^hi/' file
welcome
bye
这将删除行hi
首的行。你没有说世界是否可以在句子的中间。如果是这样,请执行以下操作:
awk '!/hi/'
welcome
bye
这应该足够了:
sed -e '/hi/d' file
测试和工作。
tom@eee ~ % cat test
hi:: hello hai
welcome
bye
tom@eee ~ % sed -e '/hi/d' test
welcome
bye
正如 damienfrancois 所说,grep 也可以:
tom@eee ~ % grep -v 'hi' test
welcome
bye
立即尝试/^.*hi.*$/d
无法测试,所以这是一个疯狂的猜测