sed和awk的练习
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,使用sed打印出IP地址:[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed 's/^.*dr://g'|sed 's/Bc.*$//g'192.168.1.22
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
运城网络技术是什么
青岛鼎尚网络技术服务
机架式服务器机箱哪里有
为什么是否在数据库中会变成数字
数据库插入表情符报错
日志 写入数据库
计算机网络安全答辩目录
海典数据库
帮我找一下国家网络安全周视频
神农架订制软件开发方案
襄阳互联网科技公司
六安联想服务器硬盘提升运维效率
网络安全100理论题
河南光猫数据库
软件开发舟山
威动服务器 pc
软件开发项目怎么配合甲方
蓝帕网络技术有限公司
了解眼镜行业软件开发商
二调数据库是哪一年开始执行的
单位网络安全知识授课
互联网科技改变世界作文
广州智能软件开发流程
工业软件开发技术专业标准
计算机网络安全基础水光针搭配
软件开发工作室规章制度
湖北软件开发公司排名
简易软件开发工具下载
服务器怎么租
规范管理网络安全