• Linux 三剑客grep sed 与 awk


    1. grep

    grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。

    grep [option] pattern file
    复制代码
    
    • 1
    • 2
    • v:显示不被pattern 匹配到的行,相当于[^] 反向匹配
    • e :实现多个选项间的逻辑or 关系
    • E:扩展的正则表达式

    2. sed

    sed主要用来自动编辑一个或多个文件, 简化对文件的反复操作.

    sed [options] '[地址定界] command' file(s)
    复制代码
    
    • 1
    • 2

    options

    • n:不输出模式空间内容到屏幕,即不自动打印,只打印匹配到的行
    • e: 多点编辑,对每行处理时,可以有多个Script
    • f:把Script写到文件当中,在执行sed时-f 指定文件路径,如果是多个Script,换行写
    • r:支持扩展的正则表达式
    • i:直接将处理的结果写入文件
    • i.bak:在将处理的结果写入文件之前备份一份

    地址界定

    • 不给地址:对全文进行处理

    • 单地址:

      • #: 指定的行
      • /pattern/:被此处模式所能够匹配到的每一行

    地址范围:

     - #,#
     - #,+#
     - /pat1/,/pat2/
     - #,/pat1/
    
    • 1
    • 2
    • 3
    • 4
    • ~:步进

      • sed -n ‘1~2p’ 只打印奇数行 (1~2 从第1行,一次加2行)
      • sed -n ‘2~2p’ 只打印偶数行

    3. awk

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。

    awk [options] 'program' var=value file…
    复制代码
    
    • 1
    • 2
    • F fs:fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:

    • v var=value:赋值一个用户定义变量,将外部变量传递给awk

    • f scripfile:从脚本文件中读取awk命令

    • FS ****:输入字段分隔符,默认为空白字符

    • OFS ****:输出字段分隔符,默认为空白字符

    • RS :输入记录分隔符,指定输入时的换行符,原换行符仍有效

    • ORS :输出记录分隔符,输出时用指定符号代替换行符

    • NF :字段数量,共有多少字段, NF引用最后一列,NF引用最后一列,NF引用最后一列,(NF-1)引用倒数第2列

    • NR :行号,后可跟多个文件,第二个文件行号继续从第一个文件最后行号开始

    • FNR :各文件分别计数, 行号,后跟一个文件和NR一样,跟多个文件,第二个文件行号从1开始

    • FILENAME :当前文件名

    • ARGC :命令行参数的个数

    • ARGV :数组,保存的是命令行所给定的各参数,查看参数

    源码附件已经打包好上传到百度云了,大家自行下载即可~

    链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
    提取码: yu27
    百度云链接不稳定,随时可能会失效,大家抓紧保存哈。

    如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~

    GIT 项目推荐:包含多端免授权可商用,希望在互联网的生涯中帮助到您

    附件地址:https://gitee.com/ZhongBangKeJi

    链接:https://juejin.cn/post/7130607614085300261

  • 相关阅读:
    Redis使用ZSET实现消息队列使用总结二
    MySQL数据库指令 DDL语法
    T、Class<T>以及Class<?>的理解
    CF - D1/2. Burenka and Traditions (DP,异或,思维)
    Solidity智能合约开发 — 5.2 -理解EVM虚拟机交易执行、合约创建、区块上链
    如何判断一个点在地图上?如何判断一个点在多边形内?
    【GO语言编程】(四)
    Vue在外部配置打包文件夹名称和url地址前缀
    Apache Ranger:(一)安装部署
    【Kubernetes】基于K8S & SpringCloud OpenFeign的一种微服务构建模式
  • 原文地址:https://blog.csdn.net/qq_39221436/article/details/126307003