sed与awk

sed概述

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

sed使用

命令行模式

一、语法格式

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

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

文件(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——在第4行后添加hello
在这里插入图片描述
简单示例3——将第4行内容替换为你好
在这里插入图片描述
简单示例4——删除文件最后一行
在这里插入图片描述
简单示例5——查找文档中hello world并将其替换为ROOT
在这里插入图片描述

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

在这里插入图片描述

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

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

脚本模式

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

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

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

awk概述

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

awk使用

命令行模式

一、语法格式

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

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

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

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

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

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

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

  • 格式化输出只能使用printf

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

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

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

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

脚本模式

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值