我有来自mysql的数据,并且某些值带有前导或尾随空格。
这是我的代码:
IFS=$':' res=(${vals//$'\t'/:})
for (( i=0 ; i<${#res[@]} ; i++ )); do
echo "$i: ${res[i]}*"
done
是否有一种简单有效的方法来确保res[i]
中没有前导或尾随空格?
谢谢
不确定是否可以简单地使用它,但是可以使用sed:
echo "${res[i]}" | sed 's/^ *\| *$//g'
vals=$' a \t c d'
IFS=$':' res=(${vals//$'\t'/:})
for (( i=0 ; i<${#res[@]} ; i++ )); do
echo X${res[i]}X
res[$i]=$(echo "${res[i]}" | sed 's/^ *\| *$//g')
echo X${res[i]}X
done
输出:
X a X
XaX
X c dX
Xc dX