내 스크립트에서는 하루에 약 100개의 쿼리를 실행하고 각 쿼리는 값 출력(숫자)을 생성합니다. 현재 각 쿼리의 값을 여러 파일로 출력하고 있으며, 매일의 출력을 쿼리의 해당 파일 맨 아래에 추가하고 있습니다.
query1 goes to file1
date value
Jan-01 35
Jan-02 74
query2 goes to file2
date value
Jan-01 834
Jan-02 342
etc
내가 원하는 것은 각 쿼리에 대한 열을 포함하는 단일 파일을 작성하고 그에 따라 결과를 추가하는 것입니다.
Date Query1 Query2 etc
Jan01 35 834 etc
Jan02 74 342 etc
내 현재 쿼리:
query `yesterday` direct | awk '$1=="FA"{count++}END{print count}' > /x/2018/files/"$file1"
query `yesterday` direct | awk '$1=="FM"{count++}END{print count}' > /x/2018/files/"$file2"
query `yesterday` direct | awk '$1=="FT"{count++}END{print count}' > /x/2018/files/"$file3"
답변1
OP가 내가 댓글에서 언급한 동작을 확인한다고 가정하면 다음 스크립트가 작동해야 합니다.
awk '
FNR != 1 { sub("-", "", $1); dates[$1] = dates[$1] FS $2 }
END {
for(i in ARGV) h = h FS "Query"i; sub(" Query0", "Date", h); print h
for(d in dates) print d dates[d]
}
' $(cat "list.txt")
모든 입력 파일 이름을 한 줄에 하나씩 별도의 파일 "list.txt"에 나열하는 것이 더 쉬울 것이라고 생각합니다.