从linux中的多个csv文件获取数据

时间:2015-02-18 15:19:18

标签: linux csv

我正在尝试使用linux从众多csv文件中选择某些数据,制作一个新文件,其中只包含我需要处理的数据。

我已经开始使用grep和awk命令从文件中选择我需要的行和列。

然后我希望添加一个列,它将文件名作为所有行的条目。

最后,我想对文件夹中的多个文件重复此操作,并将结果附加到一个文件中。有没有办法做到这一点?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助?

grep为您提供找到模式的每个文件的文件名。

您可以将输出传输到sed并将每个文件名后的':'翻译为',',如下所示:

    grep FS *.awk  | sed 's/:/,/'
    empty.awk,BEGIN { FS = "\t" }
    join.awk,    OFS = sep = "\t"
    merge.awk,awk ' BEGIN { FS = "\t" }
    p11.awk,BEGIN { FS = "\t"   # make tab the field separator
    p42.awk,BEGIN                   { FS = OFS = "\t" }
    p43.awk,BEGIN   { FS = OFS = "\t" }
    p48.awk,BEGIN { FS = "\t" }
    p52.awk,BEGIN   { OFS = ":"; ORS = "\n\n" }
    p54.awk,BEGIN { FS = "\t" }
    smith.awk,BEGIN         { RS = ""; FS = "\n" }