LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 577|回复: 1

awk初識

[复制链接]
发表于 2004-10-25 17:33:58 | 显示全部楼层 |阅读模式
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
 楼主| 发表于 2004-10-25 17:48:18 | 显示全部楼层

sed初識

[root@shlinux test]# cat aboutsed
sp02001
sp02001
lfm
pch

[root@shlinux test]# sed s/sp02001/ily/g aboutsed > aboutsedout
[root@shlinux test]# cat aboutsedout
ily
ily
lfm
pch

1為起點,2為步長。即1,3,5這樣。。。。
[root@shlinux test]# sed 1~2s/sp02001/ily/g aboutsed > aboutsedout2
[root@shlinux test]# cat aboutsedout2
ily
sp02001
lfm
pch
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表