세 개의 파일이 있습니다. 모두 하나의 열만 가지고 있습니다.
File1
M
0
M
A
File2
A
0
M
A
File3
M
0
A
A
세 파일의 각 줄, 즉 첫 번째 줄(M,A,M)을 비교하므로 최대 발생 횟수는 M입니다. 출력 파일의 첫 번째 줄에는 M이 포함되어야 합니다. 세 파일의 다른 줄에도 동일하게 적용됩니다.
Output file
M
0
M
A
누구든지 이것에 대한 awk 스크립트를 말해 줄 수 있습니까?
답변1
다음과 같이 시도해 보세요:
awk '$1"">A[FNR]{A[FNR]=$1} END{for(i=1; i<=FNR; i++)print A[i]}' file*
$1""
문자열 비교가 수행될 수 있도록 $1을 문자열 컨텍스트에 강제로 적용하는 데 사용됩니다.
답변2
GNU awk 사용
paste file{1..3} | awk '{n=split($0, a, "\t");
asort(a,b,"@val_str_desc"); print b[1]}'
답변3
paste file[123] |
while read -a values; do printf "%s\n" "${values[@]}" | sort | tail -1; done