我想改变文件中每一行的格式,并在其中一个匹配组上运行另一个替换操作。
例如,我可能有一个简单的三列CSV文件(没有转义字符),我想将其放入另一种格式。
然而,我还想从第二列中删除所有的元音字母,即在 \2 上运行 s/[aeiou]//g 命令。
有没有解决这种嵌套替换问题的好方法?请假设两个替换都很复杂,并且这只是个例子。
我的sed不是GNU sed 4.0版本。
例如,我可能有一个简单的三列CSV文件(没有转义字符),我想将其放入另一种格式。
sed -r 's/^([a-z]+),([a-z]+),([a-z]+)$/\1: \3 (\2)'
# would turn "comma,separated,values"
# into "comma: values (separated)"
然而,我还想从第二列中删除所有的元音字母,即在 \2 上运行 s/[aeiou]//g 命令。
有没有解决这种嵌套替换问题的好方法?请假设两个替换都很复杂,并且这只是个例子。
我的sed不是GNU sed 4.0版本。
:
,将第二个逗号替换为()
. - NorthGuardsed
具有动态范围规定的许多功能,但不知道如何将它们用于此问题。 - Tim