0

我有一个文件:

hi:: hello hai
welcome
bye

我想删除带有单词的行hi

我尝试了以下命令:

sed -i -e "/hi/d" filename

但输出是

 :: heloo hai

如何使用 sed 删除整行?那是行"hi::hello hai"

4

3 回答 3

0

使用awk你可以做到这一点

awk '!/^hi/' file
welcome
bye

这将删除行hi首的行。你没有说世界是否可以在句子的中间。如果是这样,请执行以下操作:

awk '!/hi/'
welcome
bye
于 2013-11-07T17:43:30.803 回答
0

这应该足够了:

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
于 2013-11-07T17:28:26.057 回答
0

立即尝试/^.*hi.*$/d 无法测试,所以这是一个疯狂的猜测

于 2013-11-07T17:12:05.990 回答