awk数据流处理工具
awk脚本结构 awk ’ BEGIN{ statements } statements2 END { statements3 } ‘
工作方式 1、执行begin中语句块 2、从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕 3、执行end语句块
使用不带参数的print时,会打印当前行 echo -e “line1\nline2” | awk ‘BEGIN { print “start” } { print } END { print “End” }’
特殊变量: NR NF 0 1 $2
NR:表示记录数量,在执行过程中对应当前行号; NF:表示字段数量,在执行过程总对应当前行的字段数; 0:这个变量包含执行过程中当前行的文本内容; 1:第一个字段的文本内容; $2:第二个字段的文本内容;
打印每一行的第二和第三字段 awk ’ { print 2, 3 }’ file
过滤 awk ‘NR < 5’ #行号小于5 awk ‘NR==1,NR==4 {print}’ file #行号等于1和4的打印出来 awk ‘/linux/’ #包含linux文本的行(可以用正则表达式来指定,超级强大) awk ‘!/linux/’ #不包含linux文本的行
awk结合grep找到指定的服务,然后将其kill掉 ps -fe| grep msv8 | grep -v MFORWARD | awk ‘{print $2}’ | xargs kill -9;
awk实现head命令 awk ‘NR<=10{ print }’ filename
磁盘管理
查看磁盘空间 df -h 查看当前目录所占空间 -h 人性化显示 -s 递归整个目录的大小 du -sh查看当前目录下所有子文件夹排序后的大小 du -sh ls | sort打包、压缩
打包 tar -cvf etc.tar /etc -c:打包选项 -v:显示打包进度 -f:使用档案文件
压缩 gzip demo.txt
解包、解压缩
解包 tar -xvf demo.tar -x:解包选项
gz解压 tar -zxvf demo.tar.gz 或 gunzip demo.tar.gz tar -xvf demo.tar
bz2解压 tar jxvf demo.tar.bz2 或 bzip2 -d demo.tar.bz2 tar -xvf demo.tar