2011-03-15 34 views
0

我遇到了这个问题。我需要让awk打印处理的每一行的工作目录,让我们在输出的第一列中说。这里我正在使用的命令:awk在处理文件时正在打印工作目录

awk -F, ' FNR==NR {idsA[$1]; next} $1 in idsA ' noms */node.csv 

我正在处理这个命令文件在不同的目录中。

这里是一个示例输出:

12 ,,, - 4.8938065
15 ,,, - 3.9248969
16 ,,, - 3.7229307
17 ,,, - 3.5086633
18 ,,, -3.2806812

我需要:

working_dir,12 ,,, - 4.8938065
working_dir,15 ,,, - 3.9248969
working_dir,16 ,,, - 3.7229307
working_dir,17 ,,, - 3.5086633
working_dir,18 ,,, - 3.2806812

我怎么能得到这个工作?

任何帮助或指针将不胜感激

回答

0

您可以使用内置的文件名可变$FILENAME AWK。

我想它带有完整的文件路径。

你可以试试,并检查

+0

Thanx,与FILENAME一起使用。我会在完整的路径中删除我不需要的东西。简单的解决方案...这是最后的命令:awk -F,'FNR == NR {idsA [$ 1];下一个} $ idsA {print FILENAME“,”$ 0}'noms */node.csv – Chargaff 2011-03-15 02:44:51