ファイルから余分なスペースを削除

ファイルから余分なスペースを削除

以下のコードを使用してvalar.csvファイルのエントリをコピーし、列に値を入力しています。

awk '
NR==1   {print; next}
        {$1=$1; print}
        {$2 = $2 "D"; $3 = 3; $4 = ($4==1?2:1); $5 = $6 = " "; $7 = "Y"}
1' OFS='\t' valar.csv

ただし、ファイルに余分なスペースがあるかどうかを考慮して行として扱い、値を更新します。

余分なスペースを考慮しないようにコマンドを変更する方法を教えてください。

ファイルに余分なスペースがある場合、私の出力は次のようになります。最後の行には以下が表示されます。 (D 3 1 Yは予想されていません。追加のspcae問題をトリミングする方法?

SECURITY_ID     TRADE_ID        COUNTERPARTY_TYPE       SIDE    CUSTOMER_ACC_TYPE       COMMISSION      RELATED_PTY     NON_RESIDENT
1350Z77M0       20200922011102686632    1       1       2       30      N       N
1350Z77M0       20200922011102686632D   3       2                       Y       N
1350Z77S0       20200922011102786632    1       2       1       30      Y       N
1350Z77S0       20200922011102786632D   3       1                       Y       N

        D       3       1                       Y

答え1

awk '
NR==1   {print; next}
/[^[:blank:]]/{print; $2 = $2 "D"; $3 = 3; $4 = ($4==1?2:1); $5 = $6 = " "; $7 = "Y"}
' OFS='\t' valar.csv

関連情報