bash:从列中迭代提取数字

bash:从列中迭代提取数字

我正在循环百万个日志文件,以固定格式排列:一行 5 列:

 0    0.258517     0.20418      0.1592    0.258123

我需要从第二列中取出数字并将其与日志文件的名称一起保存到单独的日志中,并保持以下格式(因此最终日志应包含每个日志的 N 行)

name_of_file1: 0.258517
...
name_of_fileN: nnnnnnn

这里可能的解决方案仅缺少一些采用第二列值的函数(AWK??):

   cd foler_with_all_logs
    # do something to extract the number and then add the line with $log_name to >> final_summary.log
    awk '-F, *' '{ printf("%s| %s\n", FILENAME,$2) }' *.log >> final_summary.log

这是我的 AWK 函数中的问题,它无法识别日志文件第二列的格式。

答案1

您显示的文件看起来不像是逗号分隔的,因此您不需要(或想要)-F,。看起来你想要的只是这样:

cd folder_with_all_logs 
awk '{print $2,FILENAME}' * > final_summary.log

相关内容