将“bash find”中的文件添加到 7z 存档中

将“bash find”中的文件添加到 7z 存档中

在问这个之前我做了很多搜索! (即便如此,我还是希望有人指出重复的内容)。

所以我收集了一堆文件,例如:

find . -name "2020-*" 

...是否有某种方法可以将所有这些文件“管道”到 .7z 存档中? (注意,我意识到“管道”可能不是正确的词,因为我想要的操作实际上是文件复制操作)。

我尝试过类似的事情:

find . -name "2020-*" | 7z a -p pumple.7z

...这给了我下一行“>”,就好像它期待一些控制台输入一样。

以下内容也是如此:

 find . -name "2020-* > 7z a -p pumple.7z

答案1

您需要提供文件名作为参数7z

find . -name '2020-*' -exec 7z a -p pumple.7z {} +

这告诉find我们查找名称匹配的文件(任何类型)2020-*,当找到此类文件时,运行7z a -p pumple.7z后跟文件名。是{}文件名的占位符,+告诉find您一次性使用尽可能多的文件名运行该命令。

相关内容