【发布时间】:2014-07-04 00:07:37
【问题描述】:
已经在 sed 和 gsed 上花费了很多时间,只是尝试匹配一个愚蠢的字符串,但它仍然不起作用!
两者都没有:
echo "123adv123" | sed -En 's/\([a-z]+\)/#/g'
也不:
echo "123adv123" | sed -En 's/([a-z]*)/#/g'
也不:
echo "123adv123" | sed -En 's/([a-z]+)/#/g'
也不:
echo "123adv123" | gsed -rn 's/\([a-z]+\)/#/g'
也不:
echo "123adv123" | gsed -rn 's/([a-z]+)/#/g'
我正在 OSX 上尝试它。我知道这个问题看起来很奇怪,但我卡住了,只是想弄明白这里有什么问题?
输出应该是123#123
【问题讨论】:
-
你想达到什么目的?你能提供预期的输出吗?
-
您从未打印过图案空间。你永远不会得到任何输出。删除
n参数。或者,在g之后添加p以告诉 sed 打印该行。您的最后一行在 CentOS linux 上使用GNU sed version 4.1.5有效(使用s/gsed/sed/并删除n参数)。 -
删除
-n("noprint") 参数,或在您的s命令中添加p("print"):s/a/b/gp -
谢谢,抱歉这个愚蠢的问题,只是以一种奇怪的方式坚持下去。