誰でも私を助けることができますか?
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
ん。そのため、2番目のブロックにはまったく入りません。文を 実行して結果を変数に代入するには、引用符を逆引用符で置き換える必要があります。 grep Have aims.out | cut -c11-14
Have
if
grep
testfile=`grep Have aims.out | cut -c11-14`