連続したパターンを一致させて他のパターンの後に挿入する方法

連続したパターンを一致させて他のパターンの後に挿入する方法

2行のファイルがあります。

1, output /test here    
2, output /test here

私はこれを次のように変更したいと思います:

1, output /test 1 here    
2, output /test 2 here

前の文字列を,この文字列の末尾にコピーします/test

awkまたはを使用してこれをどのように実行できますかsed

ベストアンサー1

あなたはそれを使用することができますグループと逆参照のキャプチャ前任者。

sed 's:\([^,]*\), output /test:& \1:' file

質問にもタグ付けしたので、awk次のこともできます。

awk -F, 'match($0,/\/test/) {print substr($0,1,RSTART+RLENGTH) $1, substr($0,RSTART+RLENGTH+1)}' file

おすすめ記事