Bash 変数から空白を削除するにはどうすればいいですか? 質問する

Bash 変数から空白を削除するにはどうすればいいですか? 質問する

次のコードを含むシェル スクリプトがあります:

var=`hg st -R "$path"`
if [ -n "$var" ]; then
    echo $var
fi

hg stただし、少なくとも 1 つの改行文字が常に出力されるため、条件コードは常に実行されます。

  • 空白を取り除く簡単な方法はありますか?$vartrim()例えばPHP の)?

または

  • この問題に対処する標準的な方法はありますか?

私は使えるsedまたはAWKしかし、この問題にはもっとエレガントな解決策があるのではないかと思います。

ベストアンサー1

簡単な答えは次のとおりです。

echo "   lol  " | xargs

サーグストリミングを実行します。これは 1 つのコマンド/プログラムで、パラメータはなく、トリミングされた文字列を返します。とても簡単です。

注: これによって内部のスペースがすべて削除されるわけではないので、"foo bar"同じままです。 にはなりません"foobar"。ただし、複数のスペースは単一のスペースに圧縮されるため、"foo bar"になります"foo bar"。また、行末文字は削除されません。

おすすめ記事