zoukankan      html  css  js  c++  java
  • shell中的通配符(grep、cut、sort等)

    一、grep工具

    grep是行过滤工具;用于根据关键字进行过滤

    语法:  grep [ 选项 ]  ‘关键字’  文件名

    1、颜色显示: --color=auto

    grep --color=auto 'root' passwd
    
    alias grep='grep --color=auto'

    全局修改,将输入的grep后面的内容全部改为红色或高亮

    vim  /etc/bashrc
    
    alias grep='grep --color=auto'

    source /etc/bashrc 保存全局变量,其他用户一并同root一样

     过滤包含root的行

    grep 'root' passwd  打印包含root的行

    grep -n 'root' passwd 打印包含root的行,并注明行号

    grep -ni 'root' passwd 打印包含root 的行,忽略大小写

    grep '^root' passwd 打印以root开头的行

    grep 'bash$' passwd 打印以bash结尾的行

    grep -niv 'root' passwd 打印不以root开头的行(反选:v)

    grep -nB 3 '^ftp' passwd 打印包含ftp关键字的前三行(包含搜索行)

    grep -nA 3 'ftp' passwd 打印包含ftp关键字的后三行(包含搜索行)

    grep -nC 3 'ftp' passwd  打印包含上三行和下三行的所有

    grep -w 'hello' passwd 打印包含hello的行

    grep -o 'hello' passwd 只打印关键字

     常见选项:

    OPTIONS:

       -i  :  不区分大小写

      -v :查找不包含指定内容的行,反向选择

      -w :按单词搜索

      -o : 打印匹配关键字

      -c : 统计匹配到的行数

      -n : 显示行号

      -r : 逐层遍历目录查找

      -A:显示匹配行挤后面多少行

      -B:显示匹配行及前面多少行  

      -C:显示匹配行前后多少行

      -l:只列出匹配的文件名

      -L:列出不匹配的文件名

      -e:使用正则匹配

      -E:使用扩展正则匹配

      ^key:以关键字开头

      key$:以关键字结尾

      ^$:匹配空行

      --color=auto:可以将找到的关键字部分加上颜色的显示

    二、cut工具

    cut是列截取工具,用于列的截取

    语法:cut  选项 文件名

    常见选项: 

      -c:以字符为单位进行分割,截取

      -d: 自定义分割符,默认为制表符 

      -f:与 -d 一起使用,指定截取那个区域

    截取以冒号  : 为分隔符 打印第一列和第七列 ,取前五行

     cut -d: -f1,7 passwd |head -5
    

      

     取第一列所有

      cut -d: -f1 passwd

     截取第一到五个字符

     截取从第十个字符开始

     查看系统运行级别

    runlevel
    
     cat  /etc/inittab
    

     三、sort工具

    sort工具用于排序,他讲文件的每一行作为一个单位,从首字符向后,依次按ASCII码进行比较,最后将他们按升序输出。

    语法和选项:

      -u:去除重复行

      -r:降序排列,默认是升序

      -o:将排序结果输出到文件中,类似重定向符号。

      -n:以数字排序,默认是按字符排序

      -t:分隔符

      -k:第N列

      -b:忽略前导空格。

      -R:随机排序,每次运行的结果均不同

     四、uniq工具

    uniq用于去除连续的重复行

     常见选项:

      -i:忽略大小写

      -c:统计重复行次数

      -d: 只显示重复行

     

      

  • 相关阅读:
    oracle PL/SQL(procedure language/SQL)程序设计之异常(exception)
    oracle PL/SQL(procedure language/SQL)程序设计之触发器(trigger)
    oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包
    oracle PL/SQL(procedure language/SQL)程序设计之游标cursors
    一个python拖库字段的小脚本
    perl6 拖库脚本
    python2 处理urllib/urllib2错误并打印源码
    perl6 修改文件并覆盖
    perl6文件操作
    python urllib2练习发送简单post
  • 原文地址:https://www.cnblogs.com/security-guard/p/12264712.html
Copyright © 2011-2022 走看看