![여러 파일에서 특정 문자열 뒤의 최대 수 찾기](https://linux55.com/image/209055/%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%ED%8A%B9%EC%A0%95%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EB%92%A4%EC%9D%98%20%EC%B5%9C%EB%8C%80%20%EC%88%98%20%EC%B0%BE%EA%B8%B0.png)
각 파일에는 비슷한 내용이 있습니다.
number 1:
asdfa11sdfsadf
number 2:
asdfa12sdfsadf
number 1:
asdfa1sdfsadf
number 3:
asdfa33sdfsadf
반품
3 or number 3: are equally good.
시험을 마친:
max="$( awk -F":" 'BEGIN{max=0}{if(($2)>max) max=$2}END {print max}' file)"
printf "%d\n" "$max"
33은 반환하지만 3은 반환하지 않습니다.
또한 시도했습니다:
grep -o 'number\s[0-9]*' file1.txt file2.txt | sort -nr | head -1
파일 입력 계층 구조를 기반으로 가장 높은 숫자를 반환합니다(가장 높은 숫자가 file1의 숫자 8인 경우에도 file2에서 가장 높은 숫자만 찾습니다.)
답변1
마지막 명령을 사용할 수 있지만 -ho
대신 grep을 사용하십시오 -o
.
grep -ho 'number\s[0-9]*' file1.txt file2.txt | sort -nr | head -1
-h
문제를 일으키는 결과에서 파일 이름이 제거됩니다.