awk bc命令 linux_awk中执行Linux命令的两种方式

在使用awk处理内容时,有时会按行执行Linux命令,下面介绍两种执行Linux命令方式。

方式一

用system():

[root@localhost shell_script]# awk 'BEGIN {system("pwd")}'

/root/shell_script

[root@localhost shell_script]#

test.log文件:

[root@localhost shell_script]# cat test.log

pwd

ls

which sh

[root@localhost shell_script]#

按文件行作为输入执行:

$0 表示一行数据

[root@localhost shell_script]# awk '{print "执行命令:"$0; system($0); print "\r"}' test.log

执行命令:pwd

/root/shell_script

执行命令:ls

awk_system.sh test.log

执行命令:which sh

/usr/bin/sh

[root@localhost shell_script]#

拼接命令:

[root@localhost shell_script]# echo "sh601236" | awk '{cmd = "curl -X GET http://hq.sinajs.cn/list="$0; system(cmd);}'

var hq_str_sh601236="红塔证券,19.930,20.320,19.150,19.930,18.710,19.150,19.160,41190044,791608359.000,198000,19.150,53300,19.140,60100,19.130,74200,19.120,24100,19.110,50500,19.160,28500,19.170,18300,19.180,15500,19.190,59300,19.200,2020-06-29,15:00:00,00,";

[root@localhost shell_script]#

方式二

借助|和sh命令:

[root@localhost shell_script]# echo "pwd" | sh

/root/shell_script

[root@localhost shell_script]# cat test.log | sh

/root/shell_script

awk_system.sh test.log

/usr/bin/sh

[root@localhost shell_script]#

print

[root@localhost shell_script]# awk 'BEGIN {print "pwd" | "sh"}'

/root/shell_script

[root@localhost shell_script]#

[root@localhost shell_script]# echo "pwd" | awk '{print $0 | "sh"}'

/root/shell_script

[root@localhost shell_script]#

[root@localhost shell_script]# awk '{print "执行命令:"$0; print $0 | "sh"; print "\r"}' test.log

执行命令:pwd

执行命令:ls

执行命令:which sh

/root/shell_script

awk_system.sh test.log

/usr/bin/sh

[root@localhost shell_script]#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值