在find命令中,{\} {}是什么意思?

丹尼尔·何塞(Danial Jose)

请详细解释此命令。

我正在使用此命令查找6 MB以上的大文件,并将它们拆分为同一文件夹中的5 MB块。然后,它将删除同一目录中的原始文件(大于6MB)。

find . -size +6M -exec split -d -b 5M {\} {}-part \; | find . -size +6M -exec rm -rf {} \;

我不知道命令以下部分的用途:

{\} {}

我的目标是开发一个脚本,每月将Virtualmin域备份到Amazon S3存储桶。

由于Amazon S3的PUT限制为5 GB,因此我必须将域备份(tar.gz分割成小于5 GB的大小。

混乱

find联机帮助页中

字符串“ {}”被当前文件名替换,该文件名在命令的参数中出现的任何地方都将被处理...

因此,该find命令的第一部分搜索大于6 MB的文件,并在找到的每个文件上执行(-execsplit

例如,如果找到的文件是./path/to/file,则执行的命令将是:

split -d -b 5M ./path/to/file ./path/to/file-part 

{}是用文件路径替换的占位符。{\}也是不必要的{}

在第二个find命令中(在管道之后|),该find命令rm -rf将为每个文件调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章