sed和awk的练习
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,使用sed打印出IP地址:[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed 's/^.*dr://g'|sed 's/Bc.*$//g'192.168.1.22
千家信息网最后更新 2026年11月03日sed和awk的练习
使用sed打印出IP地址:
[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed 's/^.*dr://g'|sed 's/Bc.*$//g'192.168.1.223
[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed -n 's/^.*dr:\(.*\)Bc.*$/\1/gp'192.168.1.223
awk打印IP:
[root@Srv02 ~]# ifconfig eth0 |grep Mask|awk '{print $2}'|awk -F: '{print $2}'192.168.1.223
[root@Srv02 ~]# ifconfig eth0 |grep Mask|awk -F[:\ ] '{print $13}'192.168.1.223
使用awk内部变量的方式指定分隔符:
[root@Srv02 ~]# ifconfig eth0|grep Mask|awk 'BEGIN{FS="[:\\ ]"}{print $13}'192.168.1.223
打印/etc/passwd文件内,$1为weblogic和tomcat的两行(使用判断语句):
[root@Srv02 ~]# more /etc/passwd|awk -F: '{if ($1=="weblogic" || $1=="tomcat" ) print $0}'weblogic:x:501:503::/home/weblogic:/bin/bashtomcat:x:502:504::/home/tomcat:/bin/bash
这里使用~也是一样的效果:
[root@Srv02 ~]# more /etc/passwd|awk -F: '{if ($1~"weblogic" || $1~"tomcat" ) print $0}'weblogic:x:501:503::/home/weblogic:/bin/bashtomcat:x:502:504::/home/tomcat:/bin/bash
如果$1为变量name的值,就整行输出:
[root@Srv02 ~]# more /etc/passwd|awk -F: 'BEGIN{name="oracle"}{if($1~name)print $0}'oracle:x:500:500::/home/oracle:/bin/bash
awk内部变量的介绍:
NF:表示有多少列。
$NF:表示最后一列。
NR:表示行号。
ORS:输出记录分割符
OFS:输出字段分割符
RS: 记录分割符
[root@Srv02 ~]# tail -4 /etc/passwdoracle:x:500:500::/home/oracle:/bin/bashweblogic:x:501:503::/home/weblogic:/bin/bashtomcat:x:502:504::/home/tomcat:/bin/bashnx:x:102:158::/usr/NX/home/nx:/usr/NX/bin/nxserver[root@Srv02 ~]# tail -4 /etc/passwd | awk '{print NF}'1111[root@Srv02 ~]# tail -4 /etc/passwd | awk -F: '{print NF}'7777[root@Srv02 ~]# tail -4 /etc/passwd | awk -F: '{print $NF}'/bin/bash/bin/bash/bin/bash/usr/NX/bin/nxserver
使用awk打印端口号:
[root@Srv02 ~]# netstat -ntl |awk '{if($4~"[0-9]$") print $4}'|awk -F: '{print $NF}'80018005800933801.....
使打印输出显示行号:
[root@Srv02 ~]# awk -F: '{print NR,$1}' /etc/passwd1 root2 bin3 daemon4 adm5 lp6 sync
显示$1为oracle的这一行的行号:
[root@Srv02 ~]# more /etc/passwd |awk -F: '{if ($1~"oracle") print NR}'39
输出时以###作为字段分隔符:
[root@Srv02 ~]# tail -4 /etc/passwd |awk -F: 'BEGIN {OFS="###"}{print $1,$7,$3}'oracle###/bin/bash###500weblogic###/bin/bash###501tomcat###/bin/bash###502nx###/usr/NX/bin/nxserver###102
输出
变量
行号
分隔符
字段
一行
口号
地址
效果
文件
方式
语句
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
互联网科技卖菜
互联网科技金融公司
狮子座互联网科技
互联网 卓越科技
成都互联网科技公司
九亚互联网科技
互联网金融科技创新
汇久创客互联网科技
唐信互联网科技 大连
卫星互联网科技股票
晓花互联网科技有限公司网址
卓翼科技产业互联网合作
雨阳互联网卡科技有限公司
银行科技岗属于互联网吗
浙南科技城互联网大厦招聘
互联网科技数字货币
唐山双旺合互联网科技产业园
互联网科技创新方面的资料
互联网企业和网络科技有限公司
西安纸贵互联网科技有限公司
易互联网科技有限公司
广州宏创互联网科技
电子科技大学互联网
中国互联网金融科技基金
深圳市运趣互联网科技有限公司
重庆威客帮互联网科技
恒生互联网科技指数跳水
玉溪新华互联网科技好不好
工业互联网等科技实现智能化赋能