파일에 2줄 이상이 있는지 확인하려고 합니다. 다음 스크립트를 작성했습니다.
(wc -l myfile | cut -c 1) -gt 2
하지만 오류가 발생합니다. 예상 플래그 "-gt" 근처에 구문 오류가 있습니다. 어떤 아이디어가 있습니까?
답변1
파일에 세 줄 이상이 포함되어 있는지 테스트하려면 다음을 수행하세요.
if [ "$( wc -l <file )" -gt 2 ]; then echo 'more than two lines'; fi
당신은 $
이전 것을 놓쳤고 (...)
, 그것도 놓쳤습니다 if [ ... ]
. $( ... )
명령의 출력으로 뭔가를 하려고 하기 때문에 명령 대체가 필요합니다 .
어떤 사람들은 다음 구문을 선호합니다.
test "$( wc -l <file )" -gt 2 && echo 'more than two lines'
그렇지 않으면
[ "$( wc -l <file )" -gt 2 ] && echo 'more than two lines'
파일을 표준 입력에 입력하여 wc
문제를 방지합니다 cut
.