sed,grep,awk一些常用知识和技巧

本文详细介绍了sed命令的使用技巧,包括参数-n、-r和-i的解释,以及范围操作、p、d、s、a、i、c和w指令的应用实例。同时,展示了awk的内置变量和常见操作,如查看IP地址、用户个数、磁盘空间和shell信息。
摘要由CSDN通过智能技术生成

sed的使用

由图
由图可知:sed 后面包含了四部分的内容 参数 范围 操作 操作的文件

参数:

-n:忽略执行过程,只输出结果,不影响源文件数据。
-r:支持扩展正则
-i:修改源文件数据

范围:

4 4,5 1~2 2,+3 /正则/ 等

操作指令

p:输出
d:删除
s:替换
a:追加
i:插入
c:替换
w:输出到其他的文件中
例:sed -n ‘1,2 w a.txt’ file

awk使用

awk常用内置变量:

$0 文本当前行的全部内容

$1 文本的第1列

$2 文件的第2列

$3 文件的第3列,依此类推

NR 文件当前行的行号

NF 文件当前行的列数(有几列)

例:查看IP地址
[root@server1 ~]# ifconfig br0 | sed -n '2p' | awk '{print $2}'
172.25.0.254
[root@server1 ~]# ifconfig br0 | grep 'inet ' |awk '{print $2}'
172.25.0.254
例:查看用户的个数
[root@server1 ~]# sed -n '$=' /etc/passwd
52
例:打印磁盘剩余空间
[root@server1 ~]# df -h | awk '{print $4}'
Avail
969M
例:打印用户及所用的shell
[root@server1 ~]# awk -F: '{print $1,$7}' /etc/passwd
root /bin/bash
bin /sbin/nologin
daemon /sbin/nologin
adm /sbin/nologin
例:awk提取本机的网络流量、获取远程失败的IP地址
[root@server1 ~]# ifconfig br0 |awk '/RX p/{print $5}' 
414944
[root@server1 ~]# ifconfig br0 |awk '/TX p/{print $5}' 
5914
[root@server1 ~]# awk '/Failed/{print $4}' /var/log/secure-20210624 
server1
server1
server1
server1
server1
例:awk查看解释器为bash用户的个数
[root@server1 ~]# awk -F: 'BEGIN{x=0}/bash$/{x++}END{print x}' /etc/passwd
3
例:awk查看用户名,UID,用户家目录
[root@server1 ~]# awk -F: 'BEGIN{print "User\tUID\tHome"}{print $1 "\t" $3 "\t" $6}END{print "total",NR,"lines"}' /etc/passwd
User	UID	Home
root	0	/root
bin	1	/bin
daemon	2	/sbin
adm	3	/var/adm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值