7zip:ファイルタイプを除外する方法


9

次のファイルタイプを除外したい:

  • epub
  • pdf
  • html(大文字も)
  • azw3
  • モビ
  • opf
  • txt

これまでのところ機能していないようですが、「コマンドラインが正しくありません」というエラーが表示されます。

7z e "-x!*.epub" "-x!*.pdf" "-x!*.html" "-x!*.azw3" "-x!*.mobi" "-x!*.txt" "-x!*.HTML" "-x!*.opf" *

二重引用符なしで上記のコマンドも試しました。

ここからの情報(Windows用)を使用して上記のコマンドを作成しましたが、Linuxでは動作しないようです。

回答:


10

7z引数内の単一のアーカイブのみを受け入れますが、現在の作業ディレクトリのコンテンツ全体に展開されるワイルドカードを渡します。別の問題は、引用符で囲まれていないか二重引用符で囲まれている場合、引数内のワイルドカードも同様に展開されることです。

したがって、コマンドごとに1つのアーカイブのみを抽出する必要があります。末尾のワイルドカードを削除し、単一のアーカイブを指定して、引数を単一引用符で囲みます。

7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' archive.7z

ただし、複数のアーカイブを一度に抽出するには、複数の方法を使用できます。

  • bash
for archive in *.7z; do 7z e '-x!*.epub' '-x!*.pdf' '-x!*.html' '-x!*.azw3' '-x!*.mobi' '-x!*.txt' '-x!*.HTML' '-x!*.opf' "$archive"; done
  • find
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

@sudomanこれは本当にサポートされてい7zますか?単一のアーカイブで試してみませんか?
コス2015

テストした結果、7zipでは実際にはワイルドカードを使用して特定のディレクトリ内の複数のファイルを選択できないことが判明しました。
ダカ2015

@Ron同意するが、ここでの問題は、OPが複数のアーカイブを一度に抽出できないことです。ただし、あなたの投稿に賛成しました
コス

@sudoman元のコマンドに別の欠陥があることを発見し、さらに複数のアーカイブを一度に抽出する方法をいくつか追加しました
kos

10

からman 7z

-x[r[-|0]]]{@listfile|!wildcard}
              Exclude filenames

ファイル(またはタイプ)を除外するには、次のコマンドを使用できます。

7z a -xr@exclude.txt backup.7z /whatever/dirs/or/files

-xr代わりに注意してください-xrそれは深いフォルダ階層で除外されたファイルを一致させることができますので、再帰を示しています

ファイルexclude.txtは、次のように改行で区切られたリストです。

*.epub
*.pdf
*.html 
*.HTML
*.azw3
*.mobi
*.opf
*.txt

-2

完全なディレクトリを除外する場合(この拡張ファイルはディレクトリで区切られている可能性があります)

 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' 

ここでは、vendorviewdocumentsディレクトリは除外されています。


1
なんでsudo?そして、これは既存の答えに何を追加しますか?
muru
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.