Shell脚本:如何从bash变量中修剪空格

Shell Script: How to trim spaces from a bash variable

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How to trim whitespace from bash variable?

我搜索并尝试了一些解决方案,但似乎没有什么对我有用......

我有一个shell变量,它导致由于前导和尾随空格引起的问题。 我们如何使用shell脚本删除一行中的所有空格?


我可以想到两个选择:

1
2
variable="  gfgergj lkjgrg "
echo $variable | sed 's,^ *,,; s, *$,,'

要不然

1
2
nospaces=${variable## } # remove leading spaces
nospaces=${variable%% } # remove trailing spaces


有很多方法可以实现这一点,awk oneliner:

1
2
kent$ echo"    foo  -  -  -  bar  "|awk '{sub(/^ */,"",$0);sub(/ *$/,"",$0)}1'
foo  -  -  -  bar