This question already has answers here:

How to remove extra spaces in bash?
(9个答案)
我有包含单词的字符串。
单词之间有随机数目的空格
str="toto1 toto2  toto3   toto4 toto5      toto6"

如何删除重复的空格并在单词之间只保留一个空格?

最佳答案

使用tr-s压缩重复字符:

$ echo "$str" | tr -s ' '
toto1 toto2 toto3 toto4 toto5 toto6


$ tr -s ' ' <<< "$str"
toto1 toto2 toto3 toto4 toto5 toto6

另一个有趣的方法是suggested by glenn hackman here。正如他所说,
利用不引用
变量
例子:
$ echo "$str"
toto1 toto2  toto3   toto4 toto5      toto6
$ echo $str
toto1 toto2 toto3 toto4 toto5 toto6

因此,可以使用以下命令保存转换后的字符串:
new_str=$(echo $str)

关于linux - 如何删除shell bash linux中的连续空间? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20974781/

10-10 11:25