我在我正在进行的项目中遇到了这个命令:
sed -i '/regex/,$d' file
我不明白,$d
部分是如何运作的。如果我省略,$d
的任何部分,我会收到错误。在我的测试中,它似乎取代了匹配的行和其后的任何东西。例如:
包含内容的文件:
first line
second line regex
third line
fourth line
在运行该命令后出现:
first line
我无法在手册页中找到解释此问题的任何文档,但我可能很容易错过它。手册页很难解析...
此示例已使用GNU Sed v 4.2.2
进行了测试。
答案 0 :(得分:1)
地址范围指定从第一个正则表达式匹配到文件末尾的行(此上下文中的$
指定最后一行),并且操作d
删除指定的行。
这不是“模糊不清”。您可以在手册页或sed
的任何基本介绍中找到它。