한 숫자가 다른 숫자보다 높거나 낮은지 확인하는 방법은 무엇입니까?

한 숫자가 다른 숫자보다 높거나 낮은지 확인하는 방법은 무엇입니까?

다음과 같은 2개의 숫자가 포함된 파일이 있습니다.

파일 1

1
0

파일 2

0
1

파일 3

3
3

첫 번째 행의 숫자와 두 번째 행의 숫자를 비교하고 싶습니다. 첫 번째 줄의 숫자가 더 큰 경우 echo: Higher 첫 번째 줄의 숫자가 더 작은 경우 echo: Lower 두 줄의 숫자가 동일한 경우 echo:Same

어떻게 해야 하나요?

답변1

파일을 반복합니다. 각 파일에 대해 두 개의 숫자를 읽고 비교합니다.

for file in file1 file2 file3; do
    { read num1; read num2; } <"$file"
    if [ "$num1" -gt "$num2" ]; then
        echo Higher
    elif [ "$num1" -lt "$num2" ]; then
        echo Lower
    else
        echo Same
    fi
done

쉘의 산술 비교는 -gt및 를 통해 수행 됩니다 -lt. 다른 산술 비교 연산자로는 -ge, -le및 가 있습니다 -eq. 바라보다 man test. 연산자 <및는 >사전식 순서를 테스트하며 여기서 사용하려는 것이 아닙니다.

또는 다음을 사용하여 awk:

awk -v RS='' -F '\n' '{ print ($1 > $2 ? "Higher" : ($1 < $2 ? "Lower" : "Same")) }' file1 file2 file3

관련 정보