linux~shell文本处理

一.grep:文本过滤器

根据正则表达式来工作,由正则表达式或者字符及基本的文本字符所编写的过滤条件
1)grep 匹配条件 处理文件
过滤passwd文件下的包含root的行
在这里插入图片描述
-i 搜索时忽略大小写
在这里插入图片描述
-E 支持扩展的正则表达式
在这里插入图片描述
-v 显示不包含匹配文本的所有行
在这里插入图片描述
2)grep中的正则表达式
w…s w和s之间有4个字符的
…s s前面有所有字符的
在这里插入图片描述
“<…s" s前面有5个字符的
"<w… w后面所有的字符
“<w…>” w后面4个字符
在这里插入图片描述
3)grep中字符的匹配次数设定
grep zs file 字符出现[0-任意次]
在这里插入图片描述
-E z?s 字符出现y之前x出现[0-1次]
-E z?s 字符出现y之前x出现[1-任意次]
{n} 字符出现[n次]

在这里插入图片描述
{m,n} 字符出现[最少m次,最多n次]
{0,n} 字符出现[0-n次]
{m,} 字符出现[至少m次]
在这里插入图片描述

在这里插入图片描述
z.*s zs之间任意字符都可匹配
在这里插入图片描述
在这里插入图片描述
二.sed:文本编辑器
用来操作纯ASCII码的文本,把当前处理的行存储在临时缓冲区,可以仅仅处理指定的行,符合条件的处理,不符合的不处理,完成后把缓冲区的内容输出到屏幕,紧接着处理下一行,直到文件结束
p 显示
sed -n ‘/^#/p’ fstab 只显示#开头的 !p不显示
在这里插入图片描述
sed -n ‘/^UUID/p’ fstab 以UUID开头的行
在这里插入图片描述
sed -n ‘2,6p’ fstab 显示2到6行
在这里插入图片描述
sed -n ‘/1$/p’ fstab 以1结尾的行
在这里插入图片描述
sed -n ‘2p;6p’ fstab 显示2行和6行
在这里插入图片描述
不显示空白行

在这里插入图片描述
不显示空白行和#开头的行
在这里插入图片描述
d删除
sed -n ‘/^#/!d’ fstab 删除不是#开头的行
sed -n ‘/^UUID/d’ fstab 删除UUID开头的行
sed -n ‘2,6d’ fstab 删除2到6行
sed -n ‘2d;6d’ fstab 删除2行和6行
删除空白行和#开头的行
在这里插入图片描述
a添加
在/etc/行添加zss
在这里插入图片描述
i插入
在/etc/行插入zss
在这里插入图片描述
c 替换
把以UUID 开头的行替换成zss
在这里插入图片描述
w写入
将etc行写入file中
在这里插入图片描述
插入file内容到fstab的/etc/行
在这里插入图片描述
在这里插入图片描述
sed ‘G’ fstab 每行加空行隔开
在这里插入图片描述
sed ‘=’ fstab 每行加行号
在这里插入图片描述
给以UUID开头的行加入行号
在这里插入图片描述
sed ‘s/sbin/linux/g’ passwd 把全文的sbin换成linux
在这里插入图片描述
把/替换成空格
在这里插入图片描述
把/adm/行到lp行的sbin换成zss
在这里插入图片描述
三.awk

awk:文本报告生成器,逐行处理文本,支持在处理第一行之前,做一些准备工作,以及在处理完后做一些总结性质的工作
BEGIN{ }:读入第一行文本之前执行,一般用来初始化操作

{ }:逐行读入进行处理

END{ }:处理完最后一行后执行,一般由来输出处理结果
在这里插入图片描述
添加输出的字符串并且只显示可以登陆的用户
在这里插入图片描述
添加输出的字符串并且只显示不可以登陆的用户 (!)
在这里插入图片描述
抓取IP:
inet行的 第二列
在这里插入图片描述
awk也可以做运算
在这里插入图片描述
第6列是以bin$结尾的输出这行
在这里插入图片描述
查找用户是否能登录,并输出登录用户的用户名和个数
在这里插入图片描述
输出在第2行到第6行之间的行
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值