#可以使用awk实现:
echo "$a" | awk '{str=length($0); sub(/^[ ]*/,"",$0); print str-length($0);}'
如:a=“ aaa xxx ccc ”,执行结果为:4
希望可以帮助到你!
这样算前面的空格长度:
b=$(echo "$a" | sed -r 's/( +)[^ ]+.*/\1/')
echo ${#b}
$bash 1.shstring=how are you?string=ok?$cat 1.sh#!/usr/bin/bashwhile read stringdo echo "string=$string"done < 111 $cat 111how are you?ok?脚本名1.sh, 要读取的文件名111。