zoukankan      html  css  js  c++  java
  • grep命令、sed 命令 、awk命令、uniq命令

    grep命令查找 所在行内容

    格式:grep [参数] [搜索模型] [文件名]   

    1、grep "hello" *

        在的有文件中查找 hello 文件。

    选项参数:
    -a :将 binary 文件以 text 文件的方式搜寻数据
    -c :计算找到 '搜寻字符串' 所在 行的次数 ,而不是字符串出现的次数。
    -i :忽略大小写的不同
    -n :顺便输出行号
    -v :反向选择,显示出没有 '搜寻字符串' 的那行内容!
    --color=auto :可以将找到的关键词部分加上颜色的显示喔
    处理参数:

    -A 除了显示匹配的一行之外,并且显示该行之后的num行
    -B 除了显示匹配的一行之外,并且显示该行之前的num行
    -C 除了显示匹配的一行之外,并且显示该行前后的num行

    2、grep -c "file" a

         在a文件中匹配到 file 所在行的次数。

    3、grep -n "file" a

         在a文件中有多少行匹配到file,同时显示行和行号。

    4、grep -i "file" a

         在a文件中查找file,并不区分大小写。

    5、grep -v "file" a

         在a文件中过滤掉file所在的行。

    grep -E 选项可以用来扩展选项为正则表达式。

    6、grep -E "2016:22:5[0-9]" a

         在a文件中查找时间在2016:22:50->2016:22:59的所在行。 

    7、grep -E "4{2}" a

         查找包含两个4的行。

    8、grep -E "4{2,}" a

          查找大于两个4的行。

    sed 命令 (替换或打印)

    选项参数:

       -n        取消sed的默认输出,不修改文件内容。

       -i         改变文件内容。

    结果处理参数:

           p       print打印。

           d      delete删除。

           a     新增,指定行后方加入新行

          c    替换行,将指定行的内容全部替换

          s      替换指定字符串,格式 :sed -i 's/查找字符串(可以用正则表达式)/替换字符串/g' test.txt g代表global ,也可以指定行数;“/”是分隔符,可以用 # @ 等替换

    sed命令中,"$" 表示文件的最后一行

    1、sed -n '1,4'p file

        只打印从第一行到第四行得记录。

    2、sed -n '/los/‘p file

         打印匹配los的行 

    3、sed -n '4,/los/'p file

         打印从第四行到匹配第一个los的之间的所有行。 

    4、sed -n '1,2'd file

         把第一行和第二行全部删除(不改变原文件内容)。

    awk命令数据处理并分析(取列)

    awk命令原理:简单来说awk就是把文件逐行的读入,按输入分隔符进行切片,切成多个组成部分,把每片保存在内建的变量中,$1,$2,$3......($1第一列,$2第二列...$NF最后一列);其中,$0表示整行。

    模型:

    awk [参数] 'awk语句' 文件  

    例如一:

    awk -F "分隔符" ‘{print $1}’ 文件     

    awk '{if(NR<31 && NR>19) printf $1" "}' test.txt      

    :NR代表行号,&&(and)并且, 回车换行

    参数说明:       

            -F           指定分隔符

    例如二:

    cat file|awk '$0 !~/192.168.10.2/'|grep "php"|wc -l

         ~匹配192.168.10.2的ip地址的統計,!~為不匹配

    awk '{print $1}' /var/log/httpd/access_log|sort|uniq -c

         把apache网站的所有访问ip全部统计出来,并打印出统计次数。

    uniq命令(重复)

    1、uniq -c file

        打印紧挨的重复行出现的次数。

    2、uniq -d file

         只打印重复的行。

  • 相关阅读:
    Linux系统调用
    Linux的中断 & 中断和异常的区别
    system v和posix的共享内存对比 & 共享内存位置
    epoll里面mmap释疑
    提高网络效率的总结
    推荐相关学习 & 典型算法、典型特征、典型推荐系统框架
    最大似然法理解
    调试多线程 & 查死锁的bug & gcore命令 & gdb对多线程的调试 & gcore & pstack & 调试常用命令
    内存屏障 & Memory barrier
    锁相关知识 & mutex怎么实现的 & spinlock怎么用的 & 怎样避免死锁 & 内核同步机制 & 读写锁
  • 原文地址:https://www.cnblogs.com/lanchang/p/6607944.html
Copyright © 2011-2022 走看看