パターンを同じ行の別のパターンに置き換えたいと思います。

パターンを同じ行の別のパターンに置き換えたいと思います。

2番目のタブで区切られたフィールドを、同じ行の最初の下線で区切られたフィールドに置き換えたいと思います。

入力する

Cho1_01:C4WMNACXX:1:250326554   1   2 4 2 -9 1 1 4 3 1 4 1 -9 4 1 4 1 3 1 -9 4 2 2 3 3 3 3 2 3 1 1 3  
Elq3_04:C4WMNACXX:1:250326565   9   2 2 4 -9 3 -9 1 2 3 4 4 3 1 1 -9 3 3 3 -9 4 4 -9 3 3 3 3 3 3 1 1 

希望の出力

Cho1_01:C4WMNACXX:1:250326554   Cho1    2 4 2 -9 1 1 4 3 1 4 1 -9 4 1 4 1 3 1 -9 4 2 2 3 3 3 3 2 3 1 1 3  
Elq3_04:C4WMNACXX:1:250326565   Elq3    2 2 4 -9 3 -9 1 2 3 4 4 3 1 1 -9 3 3 3 -9 4 4 -9 3 3 3 3 3 3 1 1 

ベストアンサー1

splitの機能を使用する必要がありますawk。これがこの目標を達成する1つの方法です。たとえば、ここ

awk '{split($1,arr,"_"); $2 = arr[1]; print}' file

ここでは配列区切り記号splitとして使用しています。これにより、2番目のフィールドが希望の値_に置き換えられます。arr[1]

おすすめ記事