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