文字列から先行スペースを削除します。

文字列から先行スペースを削除します。

出力の各行からすべての先頭と末尾のスペースとタブを削除したいと思います。

trim出力をパイプで接続するための簡単なツールはありますか?

サンプルファイル:

test space at back 
 test space at front
TAB at end  
    TAB at front
sequence of some    space in the middle
some empty lines with differing TABS and spaces:





 test space at both ends 

ベストアンサー1

awk '{$1=$1;print}'

またはより短く:

awk '{$1=$1};1'

先行および末尾のスペースまたはタブを切り取ります。 1 そして一連のタブとスペースを1つのスペースに圧縮します。

これは誰かに何かを割り当てるときに機能します。 大地$0その後、すべてのフィールド(、...、)を(デフォルトでは空白)にリンクして、再構成する必要があるレコード全体(、デフォルトで印刷される内容)にアクセスしようとします。printawk$1$NFOFS

空の行も削除するには、次のように変更しますawk 'NF{$1=$1;print}'NF条件としてフィールドN数がゼロ以外のレコードを選択しますF)。するいいえ時々推奨されるように、awk '$1=$1'これは最初のフィールドが(、、、...)0でサポートされている表現である行も削除します。awk000-0e+12


¹およびその他の空白文字(ロケールおよびawk実装によって異なります)

おすすめ記事