文本处理工具

文本处理工具

1. grep

grep

grep -E = egrep

grep格式

grep +匹配调节 +处理文件

grep root passwd       过滤root关键字
grep ^root passwd      以root开头
grep root$ passwd      以root结尾
grep -i root passwd          忽略大小写
grep -E "root\>" passwd      root后不能有字符
grep -E "/<root" passwd      root前不能有字符
grep -n  处理文件             显示匹配的行所在的行号
grep -数字  westos passwd     显示westos所在行上下行数
grep -A westos passwd         显示westos行以及下面几行
grep -b westos passwd          显示westos行以及上面几行   

grep字符数量匹配规则

^westos             以westos开头
westos$             以westos结尾
w....s              中间任意4个字符
.....s              前面任意五个字符
*                   字符出现0到任意次
+                   字符出现1到任意次
?                  字符出现0到1次
{n}                 出现n次
{m,n}               m到n次
{,n}                0-n次
{m,}                最少m次
(yueyue){2}         字符出现2次

测试grep命令

 

 

脚本练习

1.请显示系统中能被su命令切换的用户名称

# vim username.sh
# sh username.sh 

2. sed

命令格式

sed 参数 命令 处理对象

sed 参数 处理对象 处理规则

对字符的处理

p显示

# sed -n  5p westos        显示第五行
# sed -ne  "3p;5p" westos    显示第五行个第三行
# sed -n 3,5p westos        显示3-5行
# sed -ne '5,$p' westos     显示5到最后一行
# sed -n '/#/p' fstab       显示以#号结尾的行

d删除

# sed 5d westos     删除第五行
# sed  '/^UUID/!d' fstab  删除除去UUID开头的

a 添加

# sed -e /^h/'a test' westos    在h开头的行下面加test
# sed '$a hello world' westos   在结尾加hello world

 

 

c 替换

# sed -e /^hllo/'c linux ' westos  将hllo开头的替换为linux

w 保存

# sed -e '/bash$/w linux' passwd 结尾是bash的保存在文件linux中

i 插入
 

# sed -e '/^root/i yueyue' linux 

r 文件整合

# sed '5r linux' westos 将linux文件整合在第五行

脚本练习

Apache_port.sh

此脚本后介入数字

http的端口就改为此数字

假设selinux为关闭状态

# vim Apache_port.sh
# sh Apache_port.sh 1211
# netstat -antlupe | grep httpd

3.awk

awk -f 分隔符 BEGIN{ } { } END{ }  filename

/bash$/  条件1

/条件1|条件2/   条件1或者条件2

/条件1/||/条件2/   或者

/条件1/&&/条件2/或者

 练习:

统计在系统中能su切换的并且用户家目录不在/home下的用户

# awk -F : '$6!~/home/&&/bash$|csh$|sh$|tcsh$/{print}' /etc/passwd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值