linux里的葫芦娃----awk ,sed,grep

准备:

创建测试文件,分隔符为制表符"\t":

在这里插入图片描述

第二个测试文件

在这里插入图片描述

先说说grep:

查找出文件aaa.txt中的日期格式字段

在这里插入图片描述

接下来结合cut使用一下:
先找到系统文件/etc/passwd来测试查找文件中的用户有哪些并去除超级用户

cut -f 2 testfile.txt //得到目标文件第二列,默认分割符\t
cut -f 2 -d ‘-’ aaa.txt //得到目标文件第二列,使用“-”作为分隔符
cut -f 2,4 -d ‘-’ aaa.txt //得到目标文件第二列和第四列,使用“-”作为分隔符

下面来看一下awk

接下来先得到系统文件passwd中的用户所在行

在这里插入图片描述
在这里我们只想得到普通用户的用户名,还要接续处理
先去除超级用户,在进行分割取值
在这里插入图片描述
grep -v +字段 // 指的是去除指定字段所在行

接下来我们来看另一个例子

先输入df -h,将输出结果当做要处理的数据
在这里插入图片描述

我们的目标是取出第二行的4%中的数值4
为了完成这个目标,我们要先了解一下printf和awk的用法
printf ‘%s’ (cat testfile.txt) //输出无格式文本
printf ‘%s\t%s\t%s\t’ $(cat testfile.txt) //每3个数一次按照指定的\t 分隔符输出
awk的用法:‘条件1{动作1} 条件2{动作2}…’ 文件名
若没有条件则直接执行动作
awk ‘{printf $2 “\t” $4 “\n”}’ testfile.txt //取文件第二列后用制表符分割和第四列后换行
取testfile.txt文件中的第4行大于80的第二列,并且去掉第一行无意义字段
在这里插入图片描述

现在我们再来看一下之前系统文件取用户的那个案例现在要求去第一个和第三个字段

在这里插入图片描述
若要去掉超级用户则如下命令
在这里插入图片描述

现在让我们在看一下我们刚才的需求取出df -h 结果中第二行的4%中的数值4

在这里插入图片描述

最后我们来看一下sed

用法: sed 【选项】【动作】

在这里插入图片描述
在这里插入图片描述

下面我们来测试一下

在这里插入图片描述

可以看到在指定行同时a表示在其后追加,i表示在其前追加,c 表示替代此行
要替换多行则用以下命令

在这里插入图片描述

从上面的命令可以看出来
替换时-e 加不加都可以
而且在sed后加-i 直接修改文件内容,不加的话这是修改显示内容,而原文件内容不变!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值