次のように複数のログファイルを生成しました。
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