shell 获取字符串前面的空格

比如说
a=“ aaa xxx ccc ”
我现在要获取a前面的字符串空格长度应该怎么样呢?
也就是说
第一个字符类型或者是数字类型前面的空格

sed -n '/^\s*/' "$a" 显然是不行的 在sed中到底是如何使用正则表达式的呢?

第1个回答  2014-08-20
#可以使用awk实现:
echo "$a" | awk '{str=length($0); sub(/^[ ]*/,"",$0); print str-length($0);}'

如:a=“    aaa  xxx ccc   ”,执行结果为:4

希望可以帮助到你!

本回答被提问者采纳
第2个回答  2014-08-20

这样算前面的空格长度:

b=$(echo "$a" | sed -r 's/( +)[^ ]+.*/\1/')
echo ${#b}

第3个回答  2014-08-20
$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。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网