bash:列から繰り返し数値を抽出する

bash:列から繰り返し数値を抽出する

固定形式(1行あたり5列)に配置された100万のログファイルを繰り返します。

 0    0.258517     0.20418      0.1592    0.258123

2番目の列の数字を取得し、ログファイル名とともに別のログに保存する必要があります。この時点で、次の形式を維持する必要があります(したがって、最終ログには各ログのN行を含める必要があります)。

name_of_file1: 0.258517
...
name_of_fileN: nnnnnnn

ここで考えられる解決策は、2番目の列値(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関数の問題です。ログファイルの2番目の列形式を認識しません。

ベストアンサー1

表示するファイルはコンマで区切られているようには見えないため、対応します-F,。あなたが望むものはこれがすべてのようです:

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

おすすめ記事