将awk匹配拆分为单独的命令参数



我想使用curl将匹配模式(来自CI结果(的多个文件推送为表单编码数据。因此,我试图对find输出进行后处理,以执行curl -X POST -F "result=@$1" -F "result=@$2" localhost:80形式的命令(其中文件数量是可变的(。我认为使用AWK应该可以实现这样的功能,但我不太理解这个表达式。到目前为止,我所拥有的如下:

find . -name build.log |
awk '{print "-F '''result=@"$1"'''"}' ORS=' ' |
awk -F 'n' '{curl -X POST $1 http://localhost:80}'

有人能帮我修一下这个表达式吗?

你的问题还不清楚,但也许这就是你想要做的:

curl -X POST $(find . -name 'build.log' -printf "-F 'result=@%p' ") http://localhost:80

查看查找输出的内容:

$ ls foo*
foo1  foo2
$ printf '<%s>n' $(find . -name 'foo*' -printf "-F 'result=@%p' ")
<-F>
<'result=@./foo1'>
<-F>
<'result=@./foo2'>

相关内容

最新更新