sed和awk

都是一种过滤工具

sed是是一种流式编译器

是一种非交互式的 基于文本文件的过滤工具

可以诸行处理的

可以对文件进行复制 ,替换,删除  导入 ,导出  输出  剪切 

 

sed的p  d  s  的操作

p是打印  

sed文本处理工具的用法:

sed -n '1p' /etc/hosts 打印第一行

sed -n "3p,6p" /etc/passwd 打印第三行和第六行

sed -n '3,6p' /etc/passwd 打印三到六行

sed -n 'p' /etc/passwd 打印全部

sed -n '/root/p' /etc/passwd 打印含有root的行

 

d是删除————————跟打印有点类似

sed -n '/xm/d' a.txt 删除含有xm的行

sed -n '/xm/d!' a.txt 删除不含xm的行

sed 'd' /etc/passwd                     //删除所有行

sed '$d' a.txt                //删除文件的最后一行

'/^$/d' a.txt             //删除所有空行

 

s是替换

  1. [root@svr5 ~]# sed 's/xml/XML/' a.txt        //将每行中第一个xml替换为XML
  2. [root@svr5 ~]# sed 's/xml/XML/3' a.txt     //将每行中的第3个xml替换为XML
  3. [root@svr5 ~]# sed 's/xml/XML/g' a.txt     //将所有的xml都替换为XML
  4. [root@svr5 ~]# sed 's/xml//g' a.txt     //将所有的xml都删除(替换为空串)
  5. [root@svr5 ~]# sed 's#/bin/bash#/sbin/sh#' a.txt //将/bin/bash替换为/sbin/sh
  6. [root@svr5 ~]# sed '4,7s/^/#/' a.txt         //将第4~7行注释掉(行首加#号)
  7. [root@svr5 ~]# sed 's/^#an/an/' a.txt         //解除以#an开头的行的注释(去除行首的#号)

 

  1. 用法1:前置命令 | sed [选项] '条件指令'
  2. 用法2:sed [选项] '条件指令' 文件.. ..

 

sed命令的常用选项如下:

-n(屏蔽默认输出,默认sed会输出读取文档的全部内容)

-r(让sed支持扩展正则)

-i(sed直接修改源文件,默认sed只是通过内存临时修改文件,源文件无影响)

 

 

awk是一个编程语言,和数据处理引擎

 

awk的使用方法跟sed基本一致

awk是查询列   sed是查询行

awk '{print $1,$3}' test.txt        //打印文档第1列和第3列

df -h | awk '{print $4}'        //打印磁盘的剩余空间

也可以结合管道使用

awk -F: '{print $1,$7}' /etc/passwd -F 是指定分格符 可以省去空格和tab健

 

awk可以使用内置变量

NR  NF  

BEGIN   END  

 

awk的条件的处理

字符串/数值对比

逻辑对比

运算赋

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值