ファイル内のスコアが 36 未満の場合に、ある場所から別の場所にファイルをコピーする bash スクリプトがあります。
このスクリプトを月に 1 回実行し、以前は機能していましたが、現在はエラーが発生しています。
line 5: [: -lt: unary operator expected
スクリプトは次のとおりです。
#!/bin/bash
for f in `ls $1/*.html`
do
score=`grep -o -P '(?<=ADJ. SCORE: )-?[0-9]?[0-9]' $f`
if [ $score -lt 36 ]
then cp $f $2
fi
done
OS が重要かどうかはわかりません。私は OS X 10.7 を使用していますが、過去に Linux ボックスでうまく動作する bash スクリプトに問題がありました。
前もって感謝します!