shell字符串长度

方法一
$ expr length "Find out the length of this string from Linux Bash shell."
57

方法二
str1=aaaaaaaaa
echo ${#str1}

 echo -n xxxxx |wc -c

echo xxxx|awk '{print length($0)}'

echo “$str”|awk '{print length($0)}'

awk '{$a=length($0);print $a;}' filename

${#string} $string的长度

${string:position}$string从位置$position开始提取子串

${string:position:length} 在$string中, 从位置$position开始提取长度为$length的子串

echo ${str} | wc -L

len=`echo $str|awk '{print length($0)}'`

判断字符串为空的方法有三种:
if [ "$str" =  "" ] 
if [ x"$str" = x ]
if [ -z "$str" ]

 

方法1: 使用wc -L命令
wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数。
复制代码 代码如下:
echo "abc" |wc -L

方法2: expr length string
使用expr length可以获取string的长度

方法3: awk获取域的个数,但是如果大于10个字符的长度时是否存在问题需要后面确认
复制代码 代码如下:
echo "abc" |awk -F "" '{print NF}'


方法4: 通过awk+length的方式获取字符串长度
复制代码 代码如下:
echo “Alex”|awk '{print length($0)}'


方法5: 通过echo ${#string}的方式(注意:这里的string是该字符串的变量名)
复制代码 代码如下:
name=Alex
echo ${#name}

shell中应该还有其它获取字符串长度的方法,请大家有知道其它方式的回复补充下,有存在问题的地方大家指正!

原文地址:https://www.cnblogs.com/timssd/p/5354729.html