sed和awk的练习
发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,使用sed打印出IP地址:[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed 's/^.*dr://g'|sed 's/Bc.*$//g'192.168.1.22
千家信息网最后更新 2024年10月28日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安全错误
数据库的锁怎样保障安全
全部服务器
360的网络安全
ccat软件开发工程师考试
市场软件开发
服务器关闭浏览器安全
北京网络安全等级测评
数据库查询招收学生的学院
java软件开发怎么学
教学管理 数据库
软件开发需要3c认证吗
现在网络安全工程师可以学吗
厦门在线报修管理软件开发
网络安全经费预算情况
无锡嵌入式软件开发
华为王者荣耀战斗力最低的服务器
马松宇网络安全冠军
欧康网络技术有限公司
安卓.db .gpkg数据库
中国基建网络安全
自主可控是保障网络安全的关键
支付宝中国网络技术退回
江北区媒体网络技术服务活动简介
tomcat服务器按装步骤
在紫金保险软件开发岗怎么样
计算机网络技术英语要好
信息网络安全接入网关
澳洲青少年网络安全
cnki数据库 使用须知
正当防卫3服务器不可用
外汇appapp软件开发