expr
파일에서 숫자를 증가시키는 데 사용하고 있습니다 .
다음은 작동하지만:
NUM=$(expr $(grep customer file.txt | cut -f4 -d' ' | sort -n | tail -n 1) + 1)
expr
이것이 모든 쉘에서 사용 가능한지 확실하지 않습니다 .
그러나 다음은 작동하지 않습니다.
NUM=$((grep customer file.txt | cut -f4 -d' ' | sort -n | tail -n 1) + 1))
그렇다면 모든 쉘에서 작동하는 방식으로 추가하는 방법이 있습니까?
답변1
4열의 단어가 포함된 행에서 가장 큰 숫자를 찾아 customer
여기에 1을 더해 할당하려고 합니다 NUM
.
NUM=$( awk '/customer/ && $4 > n { n = $4 } END { print n + 1 }' file.txt )
expr
모든 POSIX 셸에서 작동합니다(실제로 사용하는 Linux 배포판에 따라 달라지지 않습니다).
그래서 그럴 것이다
NUM=$(( $( grep ... ) + 1 ))
하지만 당신은 사용하고
NUM=$(( grep ... ) + 1 ))
브래킷이 불균형합니다.
그러나 나는 더 간단한 awk
변형을 사용하겠습니다.