我有一个包含以下内容的文件:dskldfsd.com
domain
domain.com
sub.domain.com
domain.main.com
anythinghere
我想删除包含单词 的行domain
。使用 grep,此命令找到我想要的确切行:
grep -w '^domain$' test.txt
但我想删除domain
从该行的开头到结尾包含一个单词的这一行。我想保留单词domain
只是字符串一部分的行。
答案1
使用sed:
sed -i -e '/^domain$/d' test.txt
答案2
怎么样
grep -v '^domain$' test.txt
答案3
为什么 grep -v '^domain$'。根据我的理解,根据问题,它是简单的 grep -v 'domain' 。
答案4
假设您想使用标准工具,您可以这样做
grep -xF -v 'domain' test.txt >newtest.txt
该-x
标志grep
强制匹配跨越整行,并将-F
模式grep
视为固定字符串而不是正则表达式。反转-v
匹配的含义,以便您最终得到其中的所有行,而test.txt
不仅仅是字符串domain
。结果写入到newtest.txt
.