|
|
awk ‘program’ inputfile
awk –f program_file input_file
[root@shlinux test]# cat awkcommamd
/sp02001/ { print ; print }
[root@shlinux test]# awk -f awkcommamd /etc/passwd
sp02001:x:9001:9000:mis:/home/samba/sp02001:/bin/bash
sp02001:x:9001:9000:mis:/home/samba/sp02001:/bin/bash
peter$:x:10085:421:machine name -sp02001:/dev/null:/bin/false
peter$:x:10085:421:machine name -sp02001:/dev/null:/bin/false
[root@shlinux sp02001]# mkdir test
[root@shlinux sp02001]# cd test
[root@shlinux test]# echo 123456789 > num1
[root@shlinux test]# ls -l |awk '$3 == "root" { sum += $5 } END { print sum } '
10
[root@shlinux test]# echo 123456789 > num2
[root@shlinux test]# ls -l |awk '$3 == "root" { sum += $5 } END { print sum } '
20
[root@shlinux test]# ls -l
total 8
-rw-r--r-- 1 root root 0 Oct 25 16:56 num
-rw-r--r-- 1 root root 10 Oct 25 16:57 num1
-rw-r--r-- 1 root root 10 Oct 25 16:58 num2
[root@shlinux test]# ls -l | awk '$3 == "root" { sum +=1 } END { print sum } '
3
查看屬於root用戶的文件有多少個
[root@shlinux test]# ls -l /home/samba/sp02001 | awk '$3 == "sp02001" { sum +=1 } END { print sum } '
4
查看在/home/samba/sp02001中一共有多少個屬於sp02001的文件
查看/etc/passwd中有sp02001字符的行,?K顯示出?
[root@shlinux test]# awk '/sp02001/ { print ; print } ' /etc/passwd
sp02001:x:9001:9000:mis:/home/samba/sp02001:/bin/bash
sp02001:x:9001:9000:mis:/home/samba/sp02001:/bin/bash
peter$:x:10085:421:machine name -sp02001:/dev/null:/bin/false
peter$:x:10085:421:machine name -sp02001:/dev/null:/bin/false |
|