To *_* Do 115 linux file-management command-line
我有一个文件夹,其中包含许多子文件夹,其中包含小 tif 文件(小于 160kb),这些文件已合并到更大的 pdf 文件中,以及一些大的多页 tif 文件。
我想删除所有小的 tif 文件而不删除较大的文件(tif 或 pdf)并保留目录结构。如何使用命令行在 Linux 上执行此操作?
les*_*ana 195
find . -name "*.tif" -type 'f' -size -160k -delete
Run Code Online (Sandbox Code Playgroud)
不-delete先运行该命令以验证是否找到了正确的文件。
注意-之前的160k. 只是160k意味着正好 160 KB。-160k表示小于 160 KB。+160k表示大于 160 KB。
该-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