在bash中用(下划线)replace空白的最简单的方法
最近我不得不写一些在XenServer中分析虚拟机的脚本,因为虚拟机的名字大多是在Windows XP或Windows Server 2008的空白处,所以我不得不修剪这些空格,并用下划线_replace它们。 我发现一个简单的解决scheme,使用sed,这是一个伟大的工具,当涉及到string操作。
echo "This is just a test" | sed -e 's/ /_/g'
回报
This_is_just_a_test
你可以只使用shell,不需要tr
或sed
$ str="This is just a test" $ echo ${str// /_} This_is_just_a_test
这是边界编程,但看看使用tr :
$ echo "this is just a test" | tr -s ' ' | tr ' ' '_'
应该这样做。 第一个调用挤压空间,第二个replace为下划线。 您可能需要添加TAB和其他空白字符,这仅适用于空格。