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

관련 정보