Centos7で指定されたバイト数より多くのファイルを削除するスクリプト

Centos7で指定されたバイト数より多くのファイルを削除するスクリプト

ファイルを削除するにはスクリプトが必要です。ファイル名を指定し、ファイルサイズが指定されたサイズより大きい場合は削除する必要があり、それ以外の場合は何も起こりません。

私はこれを試しましたが、サイズ比較はうまくいきません。

se=$1 
file1=$2 file2=$3 
wc -c $2 $3 
for file in $2 $3
do 
fi [ $2 -gt $1]
then  rm $1
fi
done

ベストアンサー1

スクリプトは必要ありません。find必要な作業を正確に実行する標準のコマンドラインツールがあります。たとえば、/tmp1 GB を超えるすべてのファイルを削除するには、まず安全のために以下を実行します。

find /tmp -size +1G

その後、不要なアイテムを削除しないことを確認したら、次の手順を実行します。

find /tmp -size +1G -delete

あなたの質問でシェル変数を引用しないという一般的な間違いを犯しているので、ファイルにスペースが含まれていると望ましくない結果が得られます。これは、このfindコマンドと独自の内部コマンドを使用して回避できます。-delete

いつものように、このmanページはこの非常に強力なコマンドの完全なドキュメントを提供します。

デフォルトでは、このコマンドは指定されたパスのすべてのサブディレクトリで機能します。操作を制限するためにオプションを使用できます-maxdepth

おすすめ記事