【发布时间】:2016-02-18 10:13:50
【问题描述】:
我编写了以下代码来处理来自多个文件的每一行并在行尾添加文件名:
for i in $(cat all_output_file.txt);do cat $i|sed 's/:/ /g'|sed 's/-/ /g'| sed 's/,cn=/ /g'| awk 'BEGIN{OFS="\t"}{print $1,$2,$3,$6,FILENAME}'>>input_file.txt;done
然而,上面的代码在每一行的末尾打印了“-”而不是文件名,我怎样才能在每个处理的行的末尾打印文件名?
【问题讨论】:
-
这是因为
awk是从stdin读取的 -
是的,我想通了,后来,我将处理后的行存储在一个变量中,并尝试使用“echo”打印文件名,但它也没有成功。