我有一系列的多个文件。我想对这些文件进行排序,从每个文件中选择最后一行,然后将这些行输入到一个新的单个文件中。linux排序,选择最后一行,管道到新文件
我的文件是这样的:
1, 100, 2.5
2, 100, 3.3
3, 100, 5.1
4, 100, 1.2
这些文件都被命名为51_Sur_extracted_data.csv
文件被放置在父目录如下:
Track_0001/output_dfsu/51_Sur_extracted_data.csv Track_0002/output_dfsu/51_Sur_extracted_data.csv
所以我想排序所有第三列的csv文件,提取最后一行,并将其放入新的汇总文件中。基本上,目标是生成一个文件,该文件在所有父目录中具有列3中的最大值。理想情况下,我还想在包含父目录名称(Track_0002)的输出文件中添加一列。
我有这样的想法,但其余的证明对我来说有点麻烦。例如,我可以同时对所有csv文件进行排序并将输出写入新文件(例如51_Sur_extracted_data_sort.csv)?然后,我可以grep最后一行,并管它到一个新的文件?
sort -t"," -k3,3g filename
感谢, ķ
我可以跨多个文件吗?我想我可以建立一个循环。 – kimmyjo221
详细说明“跨多个文件执行此操作”。你可以指定多个输入到'sort',但它将全部是一个输出流,它被发送到'tail',然后被重定向到'newfilename'。 –
@AndyLester这个问题有很多关于这方面的细节 – sehe