假设我有包含以下内容的 fruit.txt
:
apple
banana
cantaloupe
donut peach
elderberries
我想在哈密瓜之前切掉名单,所以我跑
$ sed -ne '/cantaloupe/q;p' fruit.txt
apple
banana
完美。现在我想就地修改我的水果列表:
$ sed -ine '/cantaloupe/q;p' fruit.txt
$ cat fruit.txt
apple
apple
banana
banana
cantaloupe
等等,现在看来 -n
不再抑制输出了?任何人都可以解释这里发生了什么以及如何让它做我想做的事吗?我知道我可以轻松使用临时文件,但我想了解为什么 sed
会这样。
最佳答案
我猜你的 sed
将 ne
解释为 -i
选项的备份参数。尝试单独指定每个选项,而不是集群。
(如果这是正确的,你应该在当前目录的fruit.txtne
中找到原始文件。)
关于linux - 就地执行时与 sed 的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080566/