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 -shls
| 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.tarbz2解压
tar jxvf demo.tar.bz2
或
bzip2 -d demo.tar.bz2
tar -xvf demo.tar