linux文本处理工具(grep sed awk)

grep(过滤)

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

匹配文件中不包含 MANPATH 的那一行:
cat manpath.config| grep -v 'MANPATH'

grep -E "word1|word2|word3" file.txt
匹配 file.txt 中包含 word1 或 word2 或 word3 的行。
满足其中任意条件(word1、word2和word3之一)就会匹配。

grep word1 file.txt | grep word2 |grep word3
必须同时满足三个条件(word1、word2和word3)才匹配。

sed(显示)

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

awk

在这里插入图片描述

NF          字段数量变量
NR          每行的记录号,多文件记录递增
FNR        与NR类似,不过多文件记录不递增,每个文件都从1开始
\t            制表符
~            匹配,与==相比不是精确比较
!~           不匹配,不精确比较
==         等于,必须全部相等
&&      逻辑与
||             逻辑或
FS 			  BEGIN时定义分隔符
awk -F":" '{print $1}'  /etc/passwd   #输出文件以:为分隔符的第一行
awk -F : '/nologin$/||/^halt/{print $1}' file8   #输出file8中以nologin结尾或以halt开头的第一列
awk 'BEGIN {FS = "|"} $1=1 {print $4 "\t" $5}'
#BEGIN  END用法
#1.计算某一列和
awk 'BEGIN{sum=0}{sum += $1}END{print sum}'     #计算某一列的和
#2. 求均值
awk 'BEGIN{sum=0}{sum+=$1}END{print sum/NR}' file
#3. 求最大值
awk 'BEGIN{max=0}{if($1 > max)max = $1}END{print max}'

-f指定脚本文件
awk -f script.awk  file
BEGIN {FS=":"} {print $1}     

在这里插入图片描述在这里插入图片描述在这里插入图片描述#找出家目录不在/home的用户数量
在这里插入图片描述#输出/etc/paswd文件的行数,并输出最后一行的最后一列
在这里插入图片描述

cut

cat fileName
test2
this is a test content
cut -c1-6 fileName       #输出每一行1-6个字符
test2
this i
cut -d' ' -f 1  fileName   #输出以空格为分隔符的第一栏
teat2
this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值