如何在查找中组合“-size”和“-exec rm”?

如何在查找中组合“-size”和“-exec rm”?

当我使用它时,它有效:

find /home -name "error_log" -exec rm -rf {} \;

但是当我尝试添加文件大小限制时,它不会删除任何文件:

find /home -size +5000000b -name "error_log" -exec rm -rf {} \;

有什么想法如何让大小限制与此配合使用吗?

答案1

-size后缀bis 表示 512 字节块,而不是字节。5000000b是 2,560,000,000 字节或 2.5 GB

尝试:

find /home -size +5M -name "error_log" -exec rm -rf {} \;

从 GNU 查找手册页:

-size n[cwbkMG] 文件使用 n 个单位的空间。可以使用以下后缀:

‘b’ 表示 512 字节块(如果不使用后缀,则这是默认值)

‘c’代表字节

‘w’ 表示两字节字

‘k’ 代表千字节(1024 字节的单位)

“M”代表兆字节(1048576 字节的单位)

“G”代表千兆字节(1073741824 字节的单位)

该大小不计算间接块,但计算稀疏文件中实际未分配的块。请记住,%k' and-printf 的 %b' 格式说明符以不同方式处理稀疏文件。 “b”后缀始终表示 512 字节块,而不是 1 KB 块,这与 -ls 的行为不同。

相关内容