スペースを削除してパターンを変更しますか?

スペースを削除してパターンを変更しますか?

文書:

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のスペースがあり、これは影響を受けてはいけませhihelloindianajones。可能であれば awk を使って解決し、そうでなければ sed を使うこともできます。

次のようにsedを使用して最初の操作を実行することはできません。

sed -n 's/,[[:blank:]],/,,/gp' file

しかし、私はこれを出力として取得します。

january,month is feb   ,      ,,indiana jones

ベストアンサー1

だからあなたはawkに尋ねています:

awk '{$1=$1};gsub(" ,",",")'

大丈夫ですか?これは、データからカンマ内の空白を繰り返すという副作用があり、これは英語では問題にならない可能性があります。

おすすめ記事