删除多个ZIP文件中的特定文件名

桑巴斯·梦高(Sambath DreamHigh)

我有大约800个zip文件。我按照这个问题删除每个文件中的文件。如何删除多个Zip文件中的多个文件?

我试过了

find /myfolder -iname '*.zip' -print0|xargs -0 -i zip -d photo1.jpg

但是它确实返回错误

xargs: zip: No such file or directory

我确定我将文件放在正确的目录中。谁能帮我这个?

非常感谢您的回答。谢谢,

约翰1024

尝试:

find /myfolder -iname '*.zip' -exec zip -d {} photo1.jpg \;

笔记:

  1. 通用-print0/xargs方法是好的,但是find的-exec选项消除了对管道的需求。

  2. 压缩文件的名称必须在要删除的文件的名称之前。

如果您更喜欢管道,请尝试:

find /myfolder -iname '*.zip' -print0 | xargs -0 -i zip -d {} photo1.jpg

或者,由于-i已弃用:

find /myfolder -iname '*.zip' -print0 | xargs -0 -I{} zip -d {} photo1.jpg

从zip的子目录中删除文件

以上命令仅photo1.jpg在zip文件的根目录中时才会删除要从photo1.jpgzip内的所有子目录中删除,请执行以下操作:

find /myfolder -iname '*.zip' -print0 | xargs -0 -I{} zip -d {} '*/photo1.jpg'

笔记:

  1. 为了在使用像这样的通配符时获得可靠的结果*,将文件名放在引号中很重要,以便将glob直接传递给zip。否则,外壳程序可能会发现一个匹配项,并在将名称移交给之前进行路径名扩展zip

  2. /*photo1.jpg之间有很大的区别*/photo1.jpg前者将导致所有名称以结尾的文件被删除photo1.jpg其中包括文件名,例如abcphoto1.jpg后者只会删除实际命名为的文件photo1.jpg

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从特定路径中删除文件名?

来自分类Dev

从文件名中删除单词列表

来自分类Dev

从文件名中删除模式

来自分类Dev

批量删除文件名中的括号

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

从目录中许多文件的文件名中删除日期

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

如何从文件名中删除空格

来自分类Dev

从文件名中删除版本后缀

来自分类Dev

从具有多个扩展名的文件名中删除某些扩展名

来自分类Dev

如何从目录中删除具有特定文件名长度的所有文件?

来自分类Dev

PowerShell重命名多个文件,文件名的特定部分

来自分类Dev

西里尔文件名在zip文件中的编码

来自分类Dev

重命名多个文件以从文件名中删除通用后缀

来自分类Dev

如何删除多个Zip文件中的多个文件?

来自分类Dev

从文件名中删除前缀

来自分类Dev

根据文件名从终端删除特定文件

来自分类Dev

从文件名中删除特定(已知)扩展名(如果存在)

来自分类Dev

从文件名中删除随机文本

来自分类Dev

删除文件名中的零

来自分类Dev

在javascript中获取zip文件的文件名

来自分类Dev

从文件名中删除特定单词

来自分类Dev

从文件名中删除星号

来自分类Dev

删除文件名中的特定字符

来自分类Dev

如何在特定字符后删除多个文件名中的字符串?

来自分类Dev

使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

来自分类Dev

从 URL 中删除文件名

来自分类Dev

删除多个文件中的备份附录形式文件名 (Linux)

来自分类Dev

删除目录中的文件并打印删除的文件名