欢迎来到天天文库
浏览记录
ID:49768427
大小:17.81 KB
页数:2页
时间:2020-03-04
《Linux下使用awk批量删除共享内存.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Linux下使用awk批量删除共享内存1.awk简介awk是一个强大的文本分析工具。sed常常用于一整个行的处理,而awk则倾向于以空格和tab键为默认分隔符将每行切片成一个个域(也就是一列)来处理。Awk适用于小型的数据数据处理awk有3个不同版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是AWK的GNU版本。2.awk语法格式awk'pattern1{action1}pattern2{action2}...'filenameawk后面接两个单引号并加上大括号{}来对匹配模式的数据进行处理。awk可以处理后面指定的文件,也可以通过管道命令”
2、”读取来自前个
3、命令的标准输出。3.工作流程awk工作流程是这样的:读入有''换行符分割的多条记录,然后将每一条记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是空格键和tab键。以last命令结合awk来演示awk一个简单的筛选输出。们用last可以将登陆者的数据取出来,结果如下所示:[root@lvlv]#last-n4rootpts/1192.168.1.100TueFeb1011:21stillloggedinrootpts/1192.168.1.100TueFeb1000:46-02:28(01:41)rootpts/1192.16
4、8.1.100MonFeb911:41-18:30(06:48)dmtsaipts/1192.168.1.100MonFeb911:41-11:41(00:00)若我想要取出帐号与登陆者的IP,且帐号与IP之间以[tab]隔开,则会变成这样:[root@lvlv]#last-n5
5、awk'{print$1"t"$3}'root192.168.1.100root192.168.1.100root192.168.1.100dmtsai192.168.1.1004.利用awk批量删除共享内存首先利用“ipcs–m”查看共享内存信息,然后再利用“ipcrm-mshmid”删除共享内存。利用
6、awk进行批量删除共享内存的shell脚本如下:ipcs-m
7、awk'$2~/[0-9]+/{print$2}'
8、whilereadsdoipcrm-m$sdone结合上面对awk的介绍,应该不难看懂脚本。awk'$2~/[0-9]+/{print$2}'表示打印出只含阿拉伯数字的每行的第二列,即共享内存标识。awk中正则表达式由两个斜杠包围,即/REG/,正则表达式前加上代字号(波浪号)~表示与之匹配,!~表示不匹配。因此,$2~/[0-9]+/表示只含有阿拉伯数字组成的共享内存ID。
此文档下载收益归作者所有