我想排除以下文件类型:
到目前为止,我似乎无法工作,我收到一个错误说“不正确的命令行”。
7z e "-x!*.epub" "-x!*.pdf" "-x!*.html" "-x!*.azw3" "-x!*.mobi" "-x!*.txt" "-x!*.HTML" "-x!*.opf" *
我还尝试了上面没有双引号的命令。
我使用来自这里 (用于windows)的信息创建了上面的命令,但它在Linux下似乎不起作用。
发布于 2015-07-07 15:40:38
7z
只接受它的参数中的一个归档文件,但是您正在传递一个通配符,它扩展到当前工作目录的全部内容。另一个问题是,参数中的通配符也会扩展,无论是非引用还是双引用。
因此,每个命令只应该提取一个归档文件。您应该删除最后的通配符,指定一个归档文件并引用参数:
7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' archive.7z
但是,要同时提取多个档案,可以使用多个方法:
bash
:用于*. 7z的存档;做7z e '-x!*.epub‘-x!*.pdf’-x!*.html‘-x!*.azw3’-x!*.mobi‘-x!*.txt’-x!*.HTML‘-x!*.opf’$archive;已完成find
:找到。-maxdepth 1 -type f -iname "*. 7z“-exec 7z e '-x!*.epub‘-x!*.pdf’-x!*.html‘-x!*.azw3’-x!*.mobi‘-x!*.txt’-x!*.HTML‘-x!*.opf’{};发布于 2015-07-07 15:37:41
来自man 7z
:
-x[r[-|0]]]{@listfile|!wildcard}
Exclude filenames
若要排除文件(或类型),可以使用以下命令:
7z a -xr@exclude.txt backup.7z /whatever/dirs/or/files
注意使用-xr
而不是-x
。r
指示递归,因此它可以匹配深文件夹层次结构中排除的文件。
exclude.txt
文件是由回车返回分隔的文件或文件类型的列表,如下所示:
*.epub
*.pdf
*.html
*.HTML
*.azw3
*.mobi
*.opf
*.txt
发布于 2017-11-02 06:29:51
如果您想要排除完整的目录(您可以在目录中分隔这个扩展名文件)
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on ~/bkpFile_$(date +"%d_%b_%Y").1.7z /home/ubuntu/projectfile -mx0 '-xr!vendor' '-xr!view' '-xr!documents'
在这里,供应商、视图和文档目录被排除在外。
https://askubuntu.com/questions/645545
复制相似问题