パターン交換のためのsedの使用[閉じる]

パターン交換のためのsedの使用[閉じる]

誰でもこの問題を解決する方法を提案できますか?ファイルがあり、一致する行に最初に表示されるパターンを動的値に置き換えたいとします。ここでのパターンはですas

ソースファイル:

a b c as aa as
as b d f aa sa
df as kf as df

ターゲットファイル:

a b c 1 aa as
2 b d f aa sa
df 3 kf as df

ベストアンサー1

交換モードは毎回変わるので、これはおそらくもう少し奇妙なことです。

awk 'BEGIN { needle=1 } /as/ { $0=gensub( /as/, needle, 1, $0 ); needle=needle+1} { print } ' /path/to/input

上記は以下に適用されます。GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.4, GNU MP 6.1.0)

おすすめ記事