2

のようなテキストがある場合、主文字の繰り返し回数は変わる可能性があります。

ああああああああああっ

aそして、テキストの先頭にあるすべてxを次のように置き換えたい

xxxxbbbbaaaacccc

orsedではなく、正規表現 and でこれを行いたいです。trawk

4

6 に答える 6

5

ループを使用できます:

echo aaaabbbbaaaacccc | sed ':l s/^\(x*\)a/\1x/;tl'
于 2013-08-22T03:47:21.237 に答える
2

Perl も:

$ perl -pe 's/^a+/ "hello" x length($&) /e'  <<< aaaabbbbaaaacccc
hellohellohellohellobbbbaaaacccc
于 2013-08-22T04:05:53.993 に答える
2

これはうまくいくかもしれません(GNU sed):

 sed 's/a*/&\n/;h;y/a/x/;G;s/\n.*\n//' file

最初の非 a の前にマーカーを置きます。行を保留スペースにコピーします。パターン スペース内の行を変更します。元の行を追加します。不要なセクションを削除します。

を に変更aするにはhello:

sed 's/a*/&\n/;h;s/a/hello/g;G;s/\n.*\n//' file
于 2013-08-22T06:27:13.747 に答える
1

次のようなことをするだけです:

echo 'aaaabbbbaaaacccc' | sed 's/^aaaa/xxxx/'
于 2013-08-22T03:44:55.320 に答える