スペースを削除した後の文字列ファイル

スペースを削除した後の文字列ファイル

次のように複数のログファイルを生成しました。

Date;Time;Brand;User;Node;Location
01/01/01;666;blabla;George Armani;Springfield

文字列を削除したいアルマーニしかし、私のコマンドは機能しません。

cat file.log | grep identifier | cut -d ";" -f | sort | uniq | grep -o '^\S*' > newfile.log

次の人をフォローしています。郵便はがき

別の方法がありますか?

PS。同じフィールドに長さの異なる文字列があります。

ベストアンサー1

使用awk:

awk -F\; 'OFS = ";"{ if ($4 ~ " "); split($4, fname, / /); $4=fname[1]; print }' input

これにより、4番目の列が空白に分割され、最初の要素に設定されます。


これは、4番目の列の内容に関係なく機能します。

$ cat input
Date;Time;Brand;User;Node;Location
01/01/01;666;blabla;George Armani;Springfield
02/02/02;777;blabla;Jesse_b;South Park
03/03/03;888;blabla;test name;somewhere

$ awk -F\; 'OFS = ";"{ if ($4 ~ " "); split($4, fname, / /); $4=fname[1]; print }' input
Date;Time;Brand;User;Node;Location
01/01/01;666;blabla;George;Springfield
02/02/02;777;blabla;Jesse_b;South Park
03/03/03;888;blabla;test;somewhere

おすすめ記事