我有一个包含许多音频文件的文件夹,但有些是~4个字节,似乎什么都没有,它们是0秒长,没有声音.我想将它们移动到名为"temp /"的文件夹中.
如何将文件夹中少于5个字节的所有文件移动到此文件夹?
Kyl*_*ley 20
您可以使用find为您执行此操作:
find . -type f -maxdepth 1 -size -5c -exec mv {} temp/ \;
Run Code Online (Sandbox Code Playgroud)
-size -5c
抓取少于5个字节的所有文件.该-
表示小于和c
指示字节.
-maxdepth 1
当你试图递归到temp /(移动你的初始文件之后)时,会阻止你尝试在自己之上移动文件.
-exec mv {} temp/ \;
只需mv
在每个文件上运行以将它们放入temp({}代替文件的名称).转义的分号标志着exec的mv命令的结束.
还有其他尺寸可供选择:
`b' for 512-byte blocks (this is the default if no suffix is
used)
`c' for bytes
`w' for two-byte words
`k' for Kilobytes (units of 1024 bytes)
`M' for Megabytes (units of 1048576 bytes)
`G' for Gigabytes (units of 1073741824 bytes)
Run Code Online (Sandbox Code Playgroud)
find -size 1c
将为您提供恰好是一个字节的所有文件。
正如@user1666959提到的,您还可以使用find . -type f -size -4c
,它将查找当前目录(和子目录)中所有 4 字节及以下的文件。
$ find . -maxdepth 1 -type f -size -4c -exec mv {} temp/ \;
Run Code Online (Sandbox Code Playgroud)
(是的,您将需要尾随\;
.
请注意,find -size
允许其他精确的文件大小匹配(例如1k
),但也允许您搜索占用磁盘上指定块数(不考虑单元)的文件。
$ man find
Run Code Online (Sandbox Code Playgroud)
提供了有关如何使用它进行搜索的更多信息。
归档时间: |
|
查看次数: |
6013 次 |
最近记录: |