.zipファイルを解凍しています。これは可能ですが、サブディレクトリとそのコンテンツは無視して親フォルダデータのみを抽出する必要があります。
以下はzipファイルの名前の形式です。
ファイル名.csv.zip
私が使ったコマンドはunzip -j /zip_filepath "*" -d /final_directoryです。
上記のコマンドを試しましたが、上記のコマンドはzipファイルの一部であるzipコンテンツ全体をすべて抽出します。
zipファイルのファイル構造については、以下をご覧ください。
- -rw-r--r-- abc.csv
- drwxrwxr_x __MACOSX/
- -rw-r--r-- __MACOSX/_abc.csv
2番目のzipファイル構造:* -rw-r - -r - xyz.csv
zipファイルからabc.csvファイルとxyz.csvファイルのみを抽出したいと思います。
出力:解凍 -Z -1 abc.zip
__MACOSX/
__MACOSX/_abc.csv
abc.csv
出力:解凍 -Z -1 /user/sam/abc.zip -d /user/sam/2019-05-22/
caution: not extracting -d ignored
abc.csv
__MACOSX
__MACOSX/._abc.csv
ここの出力はabc.csvファイルでなければなりません。
出力:解凍 -Z -1 xyz.zip
xyz.csv
出力:解凍 -Z -1 /user/sam/xyz.zip -d /user/sam/2019-05-22/
caution: not extracting -d ignored
xyz.csv
ベストアンサー1
-x
次のようにオプションを引数として使用できます'*/*'
。
unzip filename.csv.zip -x '*/*' -d /final_directory
caution: excluded filename not matched: */*
ファイルに似た状況で警告を表示したくない場合は、xyz.zip
次のようにします。
unzip filename.csv.zip -x '*/*' -d /final_directory 2> /dev/null
ノート:覚えておいてください。これにより、すべての項目が抑制されます。標準エラー出力。そのような警告を表示しないようにコマンドに指示することをお勧めしますunzip
(その種類の警告のみ)。ドキュメントを少し見てみましたが、オプションは表示されませんでした。したがって、あなたがこの警告だけを抑制するように指示できない場合は、unzip
何も抑制しない方が良いと思います。警告は何の害もないからです。ただし、すべてのエラーを削除すると、機密情報を見逃す可能性があります。