压缩并存档到其他目录

压缩并存档到其他目录

我在传入目录中有大约 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-files忽略一样--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_文件将最终出现在您的存档中。

相关内容