有很多方法可以用一个字符替换多个字符。
s/a\{100\}/a/
有没有办法替换它反之亦然(一个a
有一百a
)而没有输入a
100次?
PS。我在sed
中使用了正则表达式。
答案 0 :(得分:4)
怎么样:
sed ':x;/a\{100\}/b;s/a/aa/;tx'
答案 1 :(得分:1)
并不像你想的那样简洁,但你可以这样做:
sed -e 's/a/aaaaaaaaaa/' -e 's/\(aaaaaaaaaa\)/\1\1\1\1\1\1\1\1\1\1/'
基本上将原始a
替换为10个,然后将10个序列替换为10个副本。对于100以外的数字,显然,你的因素不同。