计算变量长度

发布时间 2023-04-23 14:53:43作者: sprr

多种统计长度的命令
统计命令的长度

[root@localhost mnt]# name="zhoujielun"
[root@localhost mnt]# echo ${#name}
10
[root@localhost mnt]# echo ${name} |wc -L
10
#expr
expr length "{$name}"
#awk
echo "${name}" | awk '{print length($0)}'

time命令 统计命令执行时间
seq 生成序列的命令

# ${#变量} 计算时间
[root@localhost mnt]# time for n in {1..10000};do char=`seq -s "zhoujielun" 100`;echo ${#char}&>/dev/null;done

real	0m8.461s  实际运行的时间
user	0m6.805s   用户态执行的时间
sys	0m1.629s   内核态执行的时间
# wc -L 的计算时间
[root@localhost mnt]# time for n in {1..10000};do char=`seq -s "zhoujielun" 100`;echo $char|wc- L&>/dev/null;done

real	0m17.248s
user	0m13.440s
sys	0m3.749s
#使用 awk length
[root@localhost mnt]# time for n in {1..10000};do char=`seq -s "zhoujielun" 100`;echo $char|awk '{print length($0)}'&>/dev/null;done

real	0m24.460s
user	0m19.603s
sys	0m4.775s
#使用 expr length
[root@localhost mnt]# time for n in {1..10000};do char=`seq -s "zhoujielun" 100`; expr length"($char)"&>/dev/null;done

real	0m15.909s
user	0m12.748s
sys	0m3.101s

shell编程,尽量使用linux内置的命令,内置的操作和内置的函数,效率最高C语言开发,尽可能的减少,管道符的操作。