特定のサイズ範囲内のファイルの削除

特定のサイズ範囲内のファイルの削除

特定のサイズ以下のファイルを削除したいです。たとえば、次のファイルのリストがあります。

-rw-r--r-- 1 smsc sys  558 Apr 30 13:07 stats.sfe.1.20120430130513.xml.Z
-rw-r--r-- 1 smsc sys  388 Apr 30 15:32 stats.sfe.1.20120430153013.xml.Z
-rw-r--r-- 1 smsc sys  386 Apr 30 15:36 stats.sfe.1.20120430153513.xml.Z
-rw-r--r-- 1 smsc sys  389 Apr 30 15:42 stats.sfe.1.20120430154013.xml.Z
-rw-r--r-- 1 smsc sys  390 Apr 30 16:02 stats.sfe.1.20120430160013.xml.Z
-rw-r--r-- 1 smsc sys  385 Apr 30 16:12 stats.sfe.1.20120430161013.xml.Z

上記のリストからサイズの異なるファイルのみを削除したい386bそして390b。次のコマンドを使用して、特定のサイズより大きいファイルを削除できることを知っています<size>

find . -size +<size>-delete

しかし、サイズが与えられた値より小さいファイルの境界を追加するには?

ベストアンサー1

2つの基本色を連結できる-a明示的な演算子です。ANDこの例では、範囲の作成が使用されています-size

find . -size +386b -a -size -390b -exec rm -f {} \;

sizeは数値パラメータで、オプションで+sumの前に置くことができます-。からman 1 find

   Numeric arguments can be specified as

   +n     for greater than n,
   -n     for less than n,
    n      for exactly n.

おすすめ記事