awkを使用して特定の列からスペースを削除する方法

awkを使用して特定の列からスペースを削除する方法

2番目の列「名前」を修正し、名前間のスペースをすべて削除し、残りのtxtファイルは変更せずにそのままにして印刷したいと思います。

これは私の入力です(タブで区切られたフィールド)。

Roll NO Name         RandomColumn1    RandomColumn2 
1       Jason James  my value        my val 3

私が望む出力:

Roll NO Name        RandomColumn1  RandomColumn2 
1       JasonJames  my value        my val 3

私が成功せずに使用したコマンドは次のとおりです。

 awk '{$3=$4;  print }' | sed "s/^ *//"

ベストアンサー1

awk 'BEGIN{ FS=OFS="\t" }{ gsub(" ", "", $2) }1' infile

FS は入力フィールドの区切り記号です。 OFS は出力フィールド区切り記号です。どちらも tabs に設定され、\t2 番目のフィールドのすべての空白文字を削除し、最終更新を印刷します。これ1使用される。

おすすめ記事