shell工具简单使用

10. Shell工具

  1. cut

    1. 基本用法

      cut[选项参数] filename
      

      从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出

    2. 参数说明

      选项参数 功能
      -f 列号,提取第几列
      -d 分隔符,按照指定分隔符分割列
    3. 实例

      #切割ip地址
      
      enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.106  netmask 255.255.255.0  broadcast 192.168.1.255
      
      ifconfig enp4s0 | grep "inet " | cut -d "t" -f 2- |cut -d " " -f 2
      
  2. sed

    1. 基本介绍

      sed是一种流编辑器,带缓冲的编辑器。将内容送入缓冲区进行处理,处理完毕输出到屏幕

    2. 基本语法

      sed [选项参数] 'command' filename

    3. 选项参数说明

      选项参数 功能
      -e 直接在指令列模式上进行sed的动作编辑
    4. 命令功能描述

      命令 功能描述
      a 新增,a的后面可以接字串,在下一行出现
      d 删除
      s 查找并替换
    5. 实例

      sed "2a lalala" sed.txt # 在第二行后面增加
      sed "/4/d" sed.txt # 删除带有4的一行
      sed "s/4/4.1/g" sed.txt #替换操作 g表示全局替换
      sed -e "2d" -e "s/t/ti/g" sed.txt #多个命令 用-e 删除第二行并替换t
      
  3. awk

    1. 基本介绍

      一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理

    2. 基本用法

      awk [选项参数] 'pattern1{action1} pattern2{action2}' filename

      pattern:表示AWK在数据中查找的内容,就是匹配模式

      action:在找到匹配内容时所执行的一系列命令

    3. 选项参数

      选项参数 功能
      -F 指定输入文件折分隔符
      -v 赋值一个用户定义变量
    4. 实例

      awk -F : '/^root/ {print $7}' passwd
      
      awk -F : 'BEGIN{print "user,shell"} {print $1","$7} END{print "lll, bin/lalala"}' passwd
      
      awk -F : -v i=1 '{print $3+i}' passwd 
      
    5. awk内置变量

      变量 说明
      FILENAME 文件名
      NR 已读的记录数
      NF 游览记录的域的个数(切割后,列的个数)
    6. 实例

      awk -F : '{print FILENAME "," NR "," NF}' passwd 
      
      ifconfig enp4s0 | grep "inet " | awk -F "inet " '{print $2}'|awk -F " net" '{print $1}'
      
      awk '/^$/{print NR}' sed.txt
      
  4. sort

    1. 基本介绍

      对文件进行排序

    2. 基本用法

      sort(选项)(参数)

      选项 说明
      -n 依照数值大小进行排序
      -r 以相反的顺序进行排序
      -t 设置排ssssssssss序时所用的分隔符
      -k 指定需要排序的列
    3. 实例

      sort -t : -nrk 3 sort.txt
      
上一篇:linux 三剑客 使用总结 grep sed awk


下一篇:shell学习第七天之Linux三剑客grep,sed,awk