我在某处读到过:
sed -n -e '/foo/d' myinputfile.txt
将从 myinputfile.txt 中删除所有出现的“foo”。
但是这似乎对我不起作用。我是 sed 菜鸟,似乎无法解决这个问题。我基本上是尝试运行一个 bash 脚本,该脚本在每一行上调用 sed 来从输入文件中删除一个单词,但运行它时什么也没发生。
谢谢 :)
答案1
您读错了。
但是,虽然 sed 表达式本身是正确的,但标志却不正确。sed 通常会在处理每一行时将其输出到 stdout,但-n
会抑制这一点。最终结果是没有输出任何行。-n
如果想要正确的输出,必须删除。然后,您可以将其重定向到另一个文件,然后将该文件移动到位。