有没有办法将 SED s/// 命令的反向引用发送到管道?为了从文本中获取条目,更改它,然后将其写回。我发现 SED 内部的替换有效:
$ echo 'Test ....' | sed 's/Test/'$( echo "<\0>" )'/'
<Test> ....
但是第一个管道没有:
$ echo 'Test ....' | sed 's/Test/'$( echo "<\0>" | tr 's' 'x' )'/'
<Test> ....
是什么原因?此外,我完全不明白为什么这会起作用。我认为应该在 sed 之前处理 $() 替换(当我打破引号时更是如此)。
以及如何使用 sed 将一个 s/// 命令插入另一个?我使用 bash。