今天在在群上有人说怎么在shell中 获取一个变量的长度呢,当时我就直接想到了用 echo ${#VALID},我想应该还有别的方法,在网上搜了一下,学到不少方法,下面一一展示
- [root@MAGIC ~]# TEST_CHAR=kkkkkkk
- [root@MAGIC ~]# echo $TEST_CHAR | wc -c
- 8
- [root@MAGIC ~]# echo ${#TEST_CHAR}
- 7
- [root@MAGIC ~]#
- [root@MAGIC ~]# echo $TEST_CHAR | awk '{print length $0}'
- 7kkkkkkk
- [root@MAGIC ~]# echo $TEST_CHAR | awk '{print length ($0)}'
- 7
- [root@MAGIC ~]# expr length $TEMP_CHAR
- expr: syntax error
- [root@MAGIC ~]# echo `expr length $TEMP_CHAR`
- expr: syntax error
- [root@MAGIC ~]# echo `expr length '$TEMP_CHAR'`
- 10
- [root@MAGIC ~]# expr length '$TEMP_CHAR'
- 10
由上面可以发现 用 echo ${#TEMP_CHAR} 和 awk 的方法和我们要的实际结果一样,用wc -c 可能在计算的时候要 加入结尾符,所以比实际的长度多1
阅读(1700) | 评论(0) | 转发(0) |