1. ホーム
  2. bash

[解決済み] bashで空白を(アンダースコア)_に置き換える一番簡単な方法【非公開

2023-01-01 12:09:53

質問

最近、XenServer の VM を解析する小さなスクリプトを書く必要がありました。Windows XP や Windows Server 2008 などでは、VM の名前のほとんどが空白であるため、これらの空白を削除してアンダースコア _ に置き換える必要がありました。私は、文字列操作に関して素晴らしいツールである sed を使用して、これを行う簡単な解決策を発見しました。

echo "This is just a test" | sed -e 's/ /_/g'

リターン

This_is_just_a_test

これを達成するための他の方法はありますか?

どのように解決するのですか?

シェルのみで可能です。 tr または sed

$ str="This is just a test"
$ echo ${str// /_}
This_is_just_a_test