在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
最近的举例子:
# ls
argFile argOne
# gawk '{cmd="ls";system(cmd)}' argFile
argFile argOne
argFile argOne
argFile argOne
argFile argOne
#