안녕하세요, 저는 쉘 스크립트에 디렉토리를 전달하고 그 안의 크기가 [5;30]인 모든 파일을 검색합니다. 이게 스크립트야
for i in $* ; do
for j in $(ls $i) ; do
size=$(wc -c $j | awk '{print $1}')
if [ $size -ge 5 ] && [ $size -le "30"]
then
echo $j
fi
done
done
하지만 오류가 발생합니다. Line 5 [: -ge 단항 연산자가 표현되었습니다. 어떤 아이디어가 있나요?
답변1
어쩌면 한 줄의 find 명령을 사용할 수도 있습니다.
find "$@" -type f -maxdepth 1 \( -size +4c -a -size -31c \)