文書:
hi hello,new york, , ,brazil site ,brazil
january,month is feb , , ,indiana jones
仕事:
スペース以外の文字がない場合、2つのカンマ(たとえば、、)の間の水平スペース(スペースとタブ)はすべて削除されます。だからそれは次のようになります:
hi hello,new york,,,brazil site ,brazil january,month is feb ,,,indiana jones
また、各引数から末尾または前の水平スペース(スペースとタブ)を削除して、次のように見えます。
最終出力:
hi hello,new york,,,brazil site,brazil january,month is feb,,,indiana jones
注:パラメータ自体にはhi hello
などindiana jones
のスペースがあり、これは影響を受けてはいけませhihello
んindianajones
。可能であれば awk を使って解決し、そうでなければ sed を使うこともできます。
次のようにsedを使用して最初の操作を実行することはできません。
sed -n 's/,[[:blank:]],/,,/gp' file
しかし、私はこれを出力として取得します。
january,month is feb , ,,indiana jones
ベストアンサー1
だからあなたはawkに尋ねています:
awk '{$1=$1};gsub(" ,",",")'
大丈夫ですか?これは、データからカンマ内の空白を繰り返すという副作用があり、これは英語では問題にならない可能性があります。