次のCSVファイルがあります。
03139; 5; IT1234978208; 20150930 ; CTZ 13/31.12.15;
03137; 6; IT1234978206; 20151015 ; CTZ 13/31.11.18;
....
....
03134; 8; IT1234974406; 20151212 ; CTZ 13/37.13.17;
sed
Korn Shellのコマンドを使用して、次のような結果を得ることで、各csv行からすべてのスペースを削除する回避策を探しています。
03139;5;IT1234978208;20150930;CTZ 13/31.12.15;
03137;6;IT1234978206;20151015;CTZ 13/31.11.18;
....
....
03134;8;IT1234974406;20151212;CTZ 13/37.13.17;
誰でも私を助けることができますか?
ベストアンサー1
セミコロンの前後の空白だけを削除したいようです。この場合:
$ sed 's/[[:space:]]*;[[:space:]]*/;/g' text
03139;5;IT1234978208;20150930;CTZ 13/31.12.15;
03137;6;IT1234978206;20151015;CTZ 13/31.11.18;
....
....
03134;8;IT1234974406;20151212;CTZ 13/37.13.17;
仕組み:
sed置換コマンドは通常、正規表現がs/old/new/
どこにあるかと同じです。old
この場合は、g
次を表すサフィックスを追加します。グローバル交換(インスタンスを1つだけ交換する代わりに)。この例では、old
a;
と周囲のスペースと一致しますs/[[:space:]]*;[[:space:]]*
。これはnew
単にaに置き換えられます;
。