別のディレクトリに圧縮してアーカイブ

別のディレクトリに圧縮してアーカイブ

着信ディレクトリに約250のCSVソースファイルがあります。

私の使命は、これらのCSVファイルをマージして次のファイルを作成することですMerge_。その後、Informaticaジョブはマージされたファイルをソースとして選択し、ジョブを開始します。

これでマージ部分が処理されました。/source/archiveマージされたファイルが作成されるとすぐに、すべてのCSVファイルを圧縮して別のディレクトリに保存したいと思います。

Merge_また、ファイルが破損することなくそのまま維持されることを願っています。

zipとtarを別々に使用する方法はわかっていますが、それらを組み合わせて別のディレクトリに移動する方法はわかりません。

次のようなものを使用しようとしていますが、うまくいきません。

tar -czvf All_Files.tar.gz *.csv  /Source/Archive --remove-files --exclude Merge_file_1.csv, Merge_File_2.csv

tarとzipを想定してからファイルを/ source / archiveに移動し、マージされたファイル以外の元のファイルを削除します。

答え1

--remove-filesignoreなど、2つのコマンドを使用してこれを行う必要があります--exclude

tar -czvf ../All_Files.tar.gz --exclude 'Merge_*' *.csv && \
find . -type f -name '*.csv' -not -name 'Merge_*' -delete

メッセージ"tar: Removing leading '/' from member names"はエラーではありませんが、tarは期待どおりに機能します。

カンマ区切りのリストではない--excludeパターン(例:)が使用されます。'Merge_*'アーカイブから除外したいファイルの前に置く必要があります。それ以外の場合、そのMerge_ファイルはアーカイブに残ります。

関連情報