
누구든지 나를 도와줄 수 있나요?
for k in {1..10001}
do
if [ -d "$k" ]
then
cd $k/
testfile="grep Have aims.out | cut -c11-14"
cd ..
fi
if [[ "$testfile" == "Have" ]]
then
mv $k $k_OK
fi
done
디렉토리 이름을 변경해야 하는 부분이 작동하지 않습니다. testfile 변수를 잘못 사용하고 있는 것 같습니다.
답변1
귀하의 값은 $testfile
절대 grep Have aims.out | cut -c11-14
와 같지 않습니다 Have
. 그렇기 때문에 if
두 번째 블록에는 전혀 들어가지 않습니다. 명령문을
실행하고 그 결과를 변수에 할당하려면 grep
따옴표를 역따옴표로 바꿔야 합니다.
testfile=`grep Have aims.out | cut -c11-14`