正则表达式说明:

^\s+            匹配行首一个或多个空格
\s+$            匹配行末一个或多个空格
^\s+|\s+$    同时匹配行首或者行末的空格

1、awk 去空格

方法1:

[root@linux ~]# echo " A B C " | awk '$1=$1'
A B C

这个方法有 bug ,往下看

[root@linux ~]# echo " 1 " | awk '$1=$1'
1
[root@linux ~]# echo " 0 " | awk '$1=$1'

如果内容是 1 ,就是正常的,可以去空格,
如果内容是 0 ,就没有输出。

方法2:

[root@localhost ~]# echo ' A B C ' | awk '{gsub(/^\s+|\s+$/, "");print}'
A B C

方法3:

[root@linux ~]# echo ' A B C ' | awk '{sub(/^ */, "");sub(/ *$/, "")}1'
A B C

2、sed 去空格

[root@linux ~]# echo ' A B C ' | sed -e 's/^[ ]*//g' | sed -e 's/[ ]*$//g'
A B C

3、eval 去空格

[root@local ~]# eval echo " A B C "
A B C
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐