sedを使用して複数のファイルの特定の行とフィールドで文字列を置き換える方法

sedを使用して複数のファイルの特定の行とフィールドで文字列を置き換える方法

次の内容を含むファイルがあるとします。

2:33:4:F:T:Y
1:10:0:A:B:C:D:E:F:G:

F2行目を使用してR複数のファイルにどのように変更できますかsed

希望の出力は次のとおりです。

2:33:4:F:T:Y
1:10:0:A:B:C:D:E:R:G:

編集する:

変更は、フィールドが:で区切られた各ファイルの2行目にのみ存在する必要があるため、9番目のフィールドを変更し、そのフィールドにF以外の項目がある場合は無視する必要があります。

ベストアンサー1

そしてawk

FからRまでの2ndすべてのファイルとすべての行を置き換えます。9th field

$ awk  'BEGIN{FS=OFS=":"} FNR==2{ sub(/^F$/,"R",$9); }1' file1 file2 
2:33:4:F:T:Y
1:10:0:A:B:C:D:E:R:G:
2:33:4:F:T:Y
1:10:0:A:B:C:D:E:R:G:

おすすめ記事