【发布时间】:2013-09-14 09:16:50
【问题描述】:
我正在使用 sed 来捕获文本、运行外部命令并将捕获组的输出值输出到屏幕和文件中。
这是我需要的命令示例:
echo testme | sed -r 's/([a-z]{4}).*/'"$(echo "\1" | tee out.txt)"'/g'
也就是说,我需要将捕获组(\1)的值(test)输出到一份文件。
但是在屏幕上我可以看到正确的文字:
test
在一个文件中我看到以下内容:
\1
似乎捕获组的符号在输出到文件而不是屏幕时不会扩展其值。
请告诉我我做错了什么以及如何将捕获组的值输出到文件中。
如果可能,请 - grep/awk 没有解决方案。我需要使用 sed(或者可能是 ssed)来做到这一点。
谢谢!
【问题讨论】:
-
其他不匹配的呢?它们将如何出现在标准输出中?