【问题标题】:getting awk to print working dir while processing files在处理文件时让 awk 打印工作目录
【发布时间】:2011-03-15 10:06:55
【问题描述】:

我遇到了这个问题。我需要让 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

我怎样才能做到这一点?

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

【问题讨论】:

    标签: awk


    【解决方案1】:

    您可以使用 awk 内置的文件名变量$FILENAME

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

    你可以试试看

    【讨论】:

    • 谢谢,与文件名一起工作。我将删除完整路径中不需要的内容。简单的解决方案...这是最终命令: awk -F, ' FNR==NR {idsA[$1]; next} $1 in idsA {print FILENAME"," $0}' noms */node.csv
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多