こんにちは、私はシェルスクリプトにディレクトリを渡し、その中のサイズが[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
たぶん、1行のfindコマンドを使うこともできます。
find "$@" -type f -maxdepth 1 \( -size +4c -a -size -31c \)