我可以sed用来检查某个命令输出的第一行(到stdout)并删除第一行,如果它匹配某个模式吗?
比方说,命令的输出是这样的:
"AB"
"CD"
"E"
"F"
Run Code Online (Sandbox Code Playgroud)
我希望它成为:
"CD"
"E"
"F"
Run Code Online (Sandbox Code Playgroud)
但是当第一行是"GH",我不想删除该行.
我试过这个,但它不起作用:
<some_command> |sed '1/<pattern>/d'
Run Code Online (Sandbox Code Playgroud)
贝壳告诉我:
sed: 0602-403 1/<pattern>/d is not a recognized function.
Run Code Online (Sandbox Code Playgroud)
我只想使用sed处理第一行,而其他行保持不变.
这里的语法是什么?
你想引用第一行,然后说删除:
$ sed '1 d' file
Run Code Online (Sandbox Code Playgroud)
如果您知道要删除哪一行,则无需任何模式.
使用模式,使用以下语法:
$ sed '0,/pattern/ d' file
Run Code Online (Sandbox Code Playgroud)