回答:
find . -name "*.tif" -type 'f' -size -160k -delete
-delete
最初にコマンドを実行せずにコマンドを実行して、正しいファイルが見つかったことを確認します。
-
前に注意してください160k
。ちょうど160k
160キロバイトを意味します。-160k
160キロバイト未満を意味します。+160k
160キロバイトを超えることを意味します。
これ-type 'f'
により、コマンドはファイルに対してのみ動作し、ディレクトリをスキップします。これにより、パターンに一致する名前のフォルダーがパスに含まれている場合にエラーが回避されます*.tif
。
サイズをバイト単位(160キロバイトではなく160バイト)でフィルタリングする場合は、次のように記述する必要があります160c
。書くだけなら160
、160 * 512バイトとして解釈されます。これはPOSIXによる奇妙な要件です。詳細についてはこちらをご覧ください:https : //unix.stackexchange.com/questions/259208/purpose-of-find-commands-default-size-unit-512-bytes