在awk中可以直接执行shell命令。
zoer@ubuntu:~$ touch a
zoer@ubuntu:~$ touch b
zoer@ubuntu:~$ cat a.txt
a
b
zoer@ubuntu:~$ awk '{cmd="rm "$0;system(cmd)}' a.txt
zoer@ubuntu:~$ ls
a.txt dd important mysql py testdata
daemon.py Desktop installer mysql_install_db.sh stu
data dfadsfadfadf jdk1.6.0_33 Public stu.txt
zoer@ubuntu:~$
我们在awk中组装命令并且最后使用system()来执行。每次读入一个文件名并删除这个文件。
----------------------------------------
下面我们使用awk中执行命令来创建一些文件。
zoer@ubuntu:~$ awk 'BEGIN{count=10;i=0;while(i<count){cmd="touch "i".txt";i++;system(cmd)}}'
zoer@ubuntu:~$ ls
0.txt 4.txt 8.txt dd jdk1.6.0_33 py
1.txt 5.txt 9.txt Desktop mysql stu
2.txt 6.txt daemon.py important mysql_install_db.sh stu.txt
3.txt 7.txt data installer Public testdata