Bash脚本替换空白字符串

时间:2020-01-09 10:37:25  来源:igfitidea点击:

如何使用Shell脚本从字符串中删除所有空格?

我有一个变量var=This is a test,我想删除所有空格。

解决方法:
您可以sed流编辑器。
流编辑器用于对输入流(文件或来自管道的输入)执行基本的文本转换。
尽管在某种程度上类似于允许脚本编辑(例如ed)的编辑器,但sed通过仅对输入进行一次传递来工作,因此效率更高。
但是seds具有过滤管道中文本的能力,这使其与其他类型的编辑器特别有区别。

删除所有空格

echo "This     is    a   test" | sed 's/ //g'
var="This     is    a   test" 
echo $var | sed 's/ //g'

用*符号替换所有空格

echo "This     is    a   test" | sed 's/ /*/g'
var="This     is    a   test" 
echo $var | sed 's/ /*/g'

用Bash替换所有空间

Bash shell支持通过字符串操作替换查找和替换。
语法如下:

${varName//Pattern/Replacement}

用替换替换所有模式的匹配项。

x="    This    is      a      test   "
echo "${x// /}"
### replace all spaces with * ####
echo "${x// /*}"

输出示例:

Thisisatest
****This****is******a******test***