Linux-运维练习题

版权声明:Summer https://blog.csdn.net/csdnyanglei/article/details/82768832
  • 一个文本文件infot.txt的内容如下,每行都是按照逗号隔开,其中第二列是数字,请对该文件按照第二列从大到小排列
    • aa,201
    • zz,502
    • bb,1
    • ee,42
  • #
    sed 's/,/ /g' test1.txt | sort -k 2
    #-k指定按照哪一列排序,-t指定分隔符,-r逆序
    sort -k 2 -t, test1.txt
  • bash for循环打印下面这句话中字母数不大于6的单词 I am oldboy teacher welcome to oldboy training class.
  • grep -E -o "\b[[:alpha:]]+\b" test1.txt | awk '{ print $1; print length($1)}'
    
  • 开发shell脚本分别实现以脚本传参以及read读入的方式比较2个整数大小。以屏幕输出的方式提醒用户比较结果。注意:一共是开发2个脚本。当用脚本传参以及read读入的方式需要对变量是否为数字、并且传参个数做判断。

  • #方法1
    #!/bin/bash
    #入参必须是2个
    if [ $# -ne 2 ];then
     echo "usage: $0 must be two parameters"
     exit 1
    fi
    #可以判断是否是数字
    if [ -n "$(echo $1|sed 's/[0-9]//g')" ];then
      echo "first para is invalid val"
    fi
    
    if [ -n "$(echo $2|sed 's/[0-9]//g')" ];then
     echo "second para is invalid val"
    fi
    
    if [[ $1 > $2 ]];then
      echo "first gt second val"
    elif [[ $1 < $1 ]];then
      echo "fist lt second val"
    else
      echo "first eq second val"
    fi
    
    #方法2
    #!/bin/bash
    checkValidMath(){
      if [ -n "$(echo $1|sed 's/[0-9]//g')" ];then
        echo '${1} is invalid math'
        exit 1
      fi
    }
    compareVal(){
      if [ $1 -gt $2 ];then
        echo "first gt second val"
      elif [ $1 -lt $2 ];then
        echo "fist lt second val"
      else
        echo "first eq second val"
      fi
    }
    
    echo "please input first and second value"
    read firval secval
    checkValidMath "${firval}"
    checkValidMath "${secval}"
    compareVal ${firval} ${secval}
  • 抓阄题目:运维派提供外出企业项目实践机会(第6次)来了(本月中旬),但是,名额有限,队员限3人(班长带队,3人不包含班长)。因此需要挑选学生,因此需要一个抓阄的程序:要求:1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,数字越大就去参加项目实践,前面已经抓到的数字,下次不能在出现相同数字。2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别的学生输入。
  •  

猜你喜欢

转载自blog.csdn.net/csdnyanglei/article/details/82768832