如何防止 ed 打印匹配结果?
How can I prevent ed printing match results?
我在 bash 脚本中使用 ed
来搜索文件; /
命令将显示我不想要的内容。我尝试重定向 >/dev/null 2>&1
,但这对我不起作用。
文本文件 foo.txt
:
a
b
c
bash 脚本 bar.sh
:
ed -s foo.txt << EOF
/b/
EOF
> /dev/null 2>&1
结果:
$ ./bar.sh
b
如何停止 ed
打印匹配的行 b
?
我想你是这个意思:
ed -s foo.txt > /dev/null <<eof
/b/
eof
您可以使用 ed
注释命令 /b/;#
移动到匹配的行而不打印结果。
根据 ed
文档
'(.,.)#'
Begins a comment; the rest of the line, up to a newline, is
ignored. If a line address followed by a semicolon is given, then
the current address is set to that address. Otherwise, the current
address is unchanged.
我在 bash 脚本中使用 ed
来搜索文件; /
命令将显示我不想要的内容。我尝试重定向 >/dev/null 2>&1
,但这对我不起作用。
文本文件 foo.txt
:
a
b
c
bash 脚本 bar.sh
:
ed -s foo.txt << EOF
/b/
EOF
> /dev/null 2>&1
结果:
$ ./bar.sh
b
如何停止 ed
打印匹配的行 b
?
我想你是这个意思:
ed -s foo.txt > /dev/null <<eof
/b/
eof
您可以使用 ed
注释命令 /b/;#
移动到匹配的行而不打印结果。
根据 ed
文档
'(.,.)#'
Begins a comment; the rest of the line, up to a newline, is ignored. If a line address followed by a semicolon is given, then the current address is set to that address. Otherwise, the current address is unchanged.