shell脚本统计一个字符串的长度,谁最快

158 阅读1分钟

shell脚本统计一个字符串的长度,谁最快,借用这样一个简单的shell习题,复习一下linux命令

先说结果

    ${#param} 的速度最快,shell编程,尽量使用linux内置的命令,内置的操作和内置的函数,都是用C语言写的,效率最高,尽可能的减少管道符的操作
    

操作方法

1. 利用数值计算expr命令
    expr length "${name}", 双引号可以解析特殊字符

2. awk统计长度
     echo ${name} | awk -F '' '{print length($0)}', $0表示脚本名称
     
3. ${#name} 内置脚本


延伸学习

    cat text.txt | wc -l: 统计text.txt的行数
    cat text.txt | wc -L: 统计text.txt最长的行的长度
    
    AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
    awk -F ' ' '{print $1, $3}' touch.txt, 以space分割,取$1和$3打印
    awk -v  # 设置变量
    awk -va=1 '{print $1,$1+a}' log.txt
    awk -va=1 -vb=s '{print $1, $1+a, $1+b}' touch.txt
    awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt
    
    expr命令是一个手工命令行计数器
    expr length “this is a test”
    expr substr “this is a test” 3 5
    expr index "sarasara"  a
    expr 14 % 9
    
    time命令用来统计命令执行时长
    
    seq命令
    seq -s ' ' 2 8
    =>结果:
    2 3 4 5 6 7 8 
    
    seq -s ' ' 1 2 10
    =>结果:
    1 3 5 7 9
    其中2为增量,同样-s指定了分隔符
    
    
    seq -f "%02g" 8 12
    =>结果:
    08
    09
    10
    11
    12