入力ファイルの内容は次のとおりです。
header;header;header;header
2018/06/04;141000;bla;bla
希望の出力:
header;header;header;header
2018/06/04;1410;bla;bla
次のコマンドがありますsed
sed -i 's/.//16' $inputFile
しかし、次のように私のタイトルを削除します。
header;hder;header;header
2018/06/04;1410;bla;bla
これを防ぐために、以下を試しました。
tail -n +2 | sed -i 's/.//16' $inputFile
しかし、うまくいきません。事前にありがとう
ベストアンサー1
使用awk
:
awk -F ';' -v OFS=';' 'NR > 1 { sub("..$", "", $2) }; 1' <"$inputFile"
;
これにより、最後の2文字が削除され、最初の行を除くすべての入力行の2番目の区切りフィールドが変更されます。
末尾を使用すると、各行1
が出力されます(交換可能{ print }
)。
出力を新しいファイルにリダイレクトでき、後で元のファイルを置き換えることができます。