以下を含む.txtファイルがあります。
>ABC
hello
>ABC
thanks
>ABC
for
>ABC
your
>ABC
help
">"を含む繰り返し文字列を次に変更したいと思います。
>ABC_1
hello
>ABC_2
thanks
>ABC_3
for
>ABC_4
your
>ABC_5
help
ベストアンサー1
$ awk '{print $0 (/^>/ ? "_" (++c) : "")}' file
>ABC_1
hello
>ABC_2
thanks
>ABC_3
for
>ABC_4
your
>ABC_5
help
最初のフィールドが異なる場合があり、各最初のフィールド値に一意の数が必要な場合は、単に最初のフィールドにインデックス付けされた配列に数を設定できます。
$ cat file
>ABC
hello
>FOO
thanks
>ABC
for
>ABC
your
>FOO
help
$ awk '{print $0 (/^>/ ? "_" (++c[$1]) : "")}' file
>ABC_1
hello
>FOO_1
thanks
>ABC_2
for
>ABC_3
your
>FOO_2
help