如何在变量HEAD
中删除多余的空格
HEAD=" how to remove extra spaces "
结果:
how to remove extra spaces
发布于 2012-11-27 19:49:09
使用awk:
$ echo "$HEAD" | awk '$1=$1'
how to remove extra spaces
发布于 2015-05-06 11:30:29
这匹马还没有完全死掉:让我们继续击败它吧!*
读入数组
Other people提到了read
,但由于使用未引用的扩展可能会导致不希望的扩展,因此可以认为使用它的所有答案或多或少都是相同的。You could do
set -f
read HEAD <<< $HEAD
set +f
或者你可以这样做
read -rd '' -a HEAD <<< "$HEAD" # Assuming the default IFS
HEAD="${HEAD[*]}"
带参数扩展的扩展全局搜索
$ shopt -s extglob
$ HEAD="${HEAD//+( )/ }" HEAD="${HEAD# }" HEAD="${HEAD% }"
$ printf '"%s"\n' "$HEAD"
"how to remove extra spaces"
*实际上没有马受到伤害- this只是一个隐喻,让six+对一个简单的问题有不同的答案。
发布于 2012-10-27 03:50:22
下面是我如何使用sed来做到这一点:
string=' how to remove extra spaces '
echo "$string" | sed -e 's/ */ /g' -e 's/^ *\(.*\) *$/\1/'
=> how to remove extra spaces # (no spaces at beginning or end)
第一个sed表达式将任何超过1个空格的组替换为一个空格,第二个表达式删除所有尾随或前导空格。
https://stackoverflow.com/questions/13092360
复制相似问题