美文网首页
shell 面试题

shell 面试题

作者: warManHy | 来源:发表于2021-02-15 00:06 被阅读0次
    1. 统计每个单词出现的个数
    cat $1|tr -s ' ' '\n'|sort|uniq -c|sort|awk '{print $2" "$1}'
    
    1. 输入7的倍数
    for num in {0..500..7};
    do
      echo $num
    done
    
    for((i=0;i<=500;i=i+7));
    do
      echo $i
    done
    
    1. 统计文件的行数
    wc -l txt
    
    num=0
    while read line
    do
      num=$((num+1))
    done < txt
    echo $num
    
    1. 打印空行的行号
    grep -n '^$' txt |  cut -d ':' -f 1
    
    num=1
    while read line
    do
      if [ -z $line ];
      then
        echo $num
      fi
      num=$[num+1]
    done < txt
    

    5.去掉空行

    grep -v -E '^$' txt
    
    1. awk num++
    awk -F ':' '{sum+=$1}END{print sum}'
    
    1. 查看进程的地址
    ps -ef|grep 进程A
    ll /proc/pid/cwd
    
    1. sed修改文本内容
    sed -i 's/a/b/g' txt
    
    1. 查看目录下文本大于1g的
    find ./ -type f -size +1G
    
    大于50m,小于100m
    find ./ -size +50M  -size -100M
    
    1. curl
    curl www.baidu.com
    curl -X POST -d "user=hy&pwd=123" url
    
    1. 写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中
    for filename in `find /tmp -type f -name "abc*"|head -n 100`
    do
    sed -n '1p' $filename >> new
    done
    
    find /tmp -type f -name "abc*" | head -n 100 | xargs head -q -n 1 >> new
    
    1. 文件b中有的,但是文件a中没有的所有行,保存为文件c, 并统计c的行数
    grep -vxFf a b | tee c | wc -l 
    
    1. 获取变量长度
    ${#variable}
    
    截取:最后5个字符
    ${variable: -5}
    
    1. 整数相加
    c=$((a+b))
    c=`expr $a+$b`
    c=`echo "$a+$b"|bc`
    

    15.数组

    array=('a','b','c')
    echo ${array[0]}
    echo ${array[@]} #打印所有元素
    echo ${!array[@]} #输出索引
    unset array[0] #移除元素
    

    https://www.nowcoder.com/activity/oj?tab=2

    相关文章

      网友评论

          本文标题:shell 面试题

          本文链接:https://www.haomeiwen.com/subject/oocuxltx.html