• sed与awk


    sed概述

    sed以行为单位处理数据,sed有两种语法格式:命令行模式、脚本模式,直接使用sed修改的是缓冲区中数据而非原文件数据,sed更适合编辑匹配到的文本

    sed使用

    命令行模式

    一、语法格式

    #使用格式
    sed [选项] '处理动作' 文件名
    
    • 1
    • 2

    选项中包括如下:
    在这里插入图片描述
    处理动作包括如下:
    在这里插入图片描述
    二、简单示例

    文件(1.txt)准备,文件内容如下:

    gle
    gooogle
    taobao.com
    taotaobaobao.com
    
    jingdong.com
    dingdingdongdong.com
    10.1.1.1
    192.168.21.133
    hello world
    helloworld yourself
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    简单示例1——输出第四行内容
    在这里插入图片描述
    简单示例2——在第4行后添加hello
    在这里插入图片描述
    简单示例3——将第4行内容替换为你好
    在这里插入图片描述
    简单示例4——删除文件最后一行
    在这里插入图片描述
    简单示例5——查找文档中hello world并将其替换为ROOT
    在这里插入图片描述

    • s代表搜索模式
    • /表示分隔符,用户可自行定义,示例如下:

    在这里插入图片描述

    • g表示全局搜索,p表示打印

    简单示例五——注释掉前五行
    在这里插入图片描述
    简单示例六——将b文件内容增加到1.txt文件下方
    在这里插入图片描述
    拓展:
    在这里插入图片描述
    简单示例7——多条sed命令
    在这里插入图片描述
    拓展:
    在这里插入图片描述

    脚本模式

    第一步,指定解释器:#!/bin/sed -f
    第二步,编写相关内容
    第三步,调用格式如下:

    #不用考虑权限
    sed -f 脚本文件名 处理文件名
    #需赋予其文件可执行权限
    ./脚本文件名 处理文件名
    
    • 1
    • 2
    • 3
    • 4

    简单示例如下:
    在这里插入图片描述

    awk概述

    awk以列为单位处理数据,与grep、sed并称"linux三剑客",awk 更适合格式化文本,对文本进行较复杂格式处理

    awk使用

    命令行模式

    一、语法格式

    awk [选项] '条件1{执行动作} 条件2{执行动作}...' 文件名
    
    • 1

    简单要点说明:
    在这里插入图片描述

    二、简单示例
    文件(2.txt)准备如下:

    1 tom 12  男,hello
    2 jack 13 女,hel
    3 jerry 14
    
    • 1
    • 2
    • 3

    简单示例1——输出文件中第一列和第四列
    在这里插入图片描述

    • 列的划分标准为空格或TAB(制表符)

    简单示例二——格式化输出第一列,第三列
    在这里插入图片描述

    • 格式化输出只能使用printf

    简单示例三——输出第二行第一列的内容
    在这里插入图片描述
    简单示例四——输出第一行第一列第二行第一列的内容
    在这里插入图片描述
    简单示例五——指定分隔符为逗号
    在这里插入图片描述
    简单示例六——使用内建变量指定逗号为分隔符
    在这里插入图片描述

    • BEGIN在读取内容前执行常用作初始化,END在所有操作执行完毕后执行,简单示例如下:
      在这里插入图片描述

    简单示例七——使用正则(查找第一列为1的1-4列数据)
    在这里插入图片描述

    • ~ 和 !~分别代表匹配正则表达式和不匹配正则表达式

    脚本模式

    第一步,指定解释器:#!/bin/awk -f
    第二步,编写相关脚本
    第三步,调用格式如下:

    #该方式调用不用考虑权限和文件后缀
    awk -f 脚本名 文件名
    #该方式需要考虑权限问题
    ./脚本文件名 相关文件名
    
    • 1
    • 2
    • 3
    • 4

    简单示例如下:
    在这里插入图片描述

  • 相关阅读:
    【刷题记录15】Java工程师丨腾讯面试真题(3)
    Qt 5.15.2 Windows 子目录项目: undefined reference to `vtable for xxx‘
    Scanner之nextInt()方法的使用
    机器学习——K最近邻算法(KNN)
    1095:数1的个数(信奥)
    【JavaScript】快速学习JS
    损失函数总结(五):PoissonNLLLoss、GaussianNLLLoss
    1-FreeRTOS入门指南
    基于Qt4的电机连续性测试软件开发
    18 _ 散列表(上):Word文档中的单词拼写检查功能是如何实现的?
  • 原文地址:https://blog.csdn.net/weixin_51371629/article/details/126556481