awk从入门到入土(15)awk执行外部命令

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk从入门到入土(15)awk执行外部命令相关的知识,希望对你有一定的参考价值。

这里的外部命令,是指shell命令。

方法1

如果不需要获取命令的输出而只是需要执行命令可以使用system()函数。

#!/usr/bin/awk -f
BEGIN 

system("touch test");


命令字符串必须由“”括起来。

甚至还能判断命令是否成功执行:

BEGIN
    fold = "/tmp/test";
 
    # 调用系统命令mkdir创建文件夹
    res = system("mkdir " fold);
    print("res: " res);
    if ( 0 == res ) 
            print("文件夹创建成功");
    
 
    # 再次创建同样的文件夹
    res = system("mkdir " fold);
    print("res: " res);
    if ( 0 != res ) 
        print("文件夹创建失败");
     



END

方法2

"ls" | getline var

var是变量名,可以省略,相当于会将命令的执行结果赋值给var。

以上是关于awk从入门到入土(15)awk执行外部命令的主要内容,如果未能解决你的问题,请参考以下文章

awk从入门到入土(11)awk getline函数详解

awk从入门到入土(20)awk解析命令行参数

awk从入门到入土(20)awk解析命令行参数

awk从入门到入土(12)awk也可以写脚本,替代shell

awk从入门到入土(23)awk内置变量ARGCARGC--命令行参数传递

awk从入门到入土(23)awk内置变量ARGCARGC--命令行参数传递