gpt4 book ai didi

python - 从 awk 调用 python 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:05 26 4
gpt4 key购买 nike

大多数解决方案都从 python 调用 awk。但我想反过来做。我有一个从文件中提取信息的 python 脚本。但是,在 awk 脚本的一列中引用了所述文件名。

我如何向 python 传递参数“%s20s”、文件名并从标准输出中获取输入?我想将输出添加为多列。

谢谢你的例子

干杯

最佳答案

awk 变量 FILENAME 给出了当前正在处理的文件的名称(如果是标准输入,则为“-”)。但是,这在 BEGIN block 中不可用,但您可以改用 ARGV[1](假设您只传递一个文件名):

#!/bin/awk -f

BEGIN {
cmd = "./myscript.py '\"%s20s\"' " ARGV[1]
print cmd
cmd | getline var
print var
}

我用于测试的 python 脚本 (py3) 是:

#!/usr/bin/python

import sys
print(sys.argv)

所以我得到以下输出:

/home/user1> runit.awk afile
./myscript.py "%s20s" afile
['./myscript.py', '"%s20s"', 'afile']

关于python - 从 awk 调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5870215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com