Python 管道后awk中的文件名
每个结果行后的文件名Python 管道后awk中的文件名,python,file,unix,awk,Python,File,Unix,Awk,每个结果行后的文件名 awk '/Select User File/,/\*\*/' "{}"/* | grep "Rule" | sed 's/ //g' | sort -u 将输出作为 Rule 123 Rule asd Rule asdklnj 我想将文件名附加到每一行的末尾 我不知道如何在管道后获取文件名,您不需要在管道后获取文件名。只需将其放入awk命令中即可 awk '/Select User File/,/\*\*/ {print $0 FILENAME}' "{}"/* |
awk '/Select User File/,/\*\*/' "{}"/* | grep "Rule" | sed 's/ //g' | sort -u
将输出作为
Rule 123
Rule asd
Rule asdklnj
我想将文件名
附加到每一行的末尾
我不知道如何在管道后获取文件名,您不需要在管道后获取文件名。只需将其放入
awk
命令中即可
awk '/Select User File/,/\*\*/ {print $0 FILENAME}' "{}"/* | grep "Rule" | sed 's/ //g' | sort -u
也不需要使用grep
和sed
,这些都可以由awk
本身完成
awk '/Select User File/,/\*\*/ && /Rule/ {gsub(" ", ""); print $0, FILENAME}' "{}"/* | sort -u
我想我们可以在单个
awk
本身中完成这项工作,或者我们可以在您的尝试中减少命令,因为没有给出示例,然后尝试修复OP的尝试本身,请尝试以下操作
awk '/Select User File/,/\*\*/{gsub(/ /,"");print $0,FILENAME}' "{}"/* | grep "Rule" | sort -u
使用
FILENAME
变量如果使用gawk
第一种方法将从文件名中删除可能的空格