[Mac OS]
似乎sed需要输入文件,而我无法将grep传递给它。尽管sed可以像grep一样进行匹配,但是如果它同时处理查找和替换操作,则会使sed操作非常复杂。
例如,如果我想删除以“ T”开头的每一行的第三个单词,那么与创建复杂的正则表达式相比,分隔查找/替换命令要方便得多。
仔细查看SO答案,似乎没有一个优雅的解决方案,您可以在不涉及新文件的情况下将grep传递给sed。我确实找到了它,几乎可以满足我的要求:
sed -i "s/$(grep 'old' input.txt)/new/g" input.txt
但是它不能很好地处理多个匹配项。
我将概括一下:
是否有更好的方法来查找文本文件中的特定行并就地修改这些行?最好是cli,或尽可能低级别。