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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

运维螺丝钉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值