感谢您的支持,
我的linux笔记本电脑上有以下文件夹结构
/home
/A
/B
在文件夹" B"中,我有* .csv,* .dat类型的文件。
现在从文件夹A,如何在文件夹B中创建包含文件* .csv的tar文件。我在文件夹A中运行命令
这是命令,我已经尝试但它不起作用,
在/ home / A文件夹中,我正在运行以下命令
tar -cf /home/A/Sample1.tar -C /home/B/ZSBSDP4 *.csv
也尝试了这个,
tar -cf /home/A/Sample1.tar -C /home/B/ZSBSDP4 --wildcards *.csv
对于这两个命令,我收到以下错误,
tar: *.csv: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
在tar文件中,我不想包含整个文件夹结构,这就是原因,我使用选项-C(大写)
此外,以下命令有效,但它包含所有* .csv和* .dat文件。
tar -cf /home/A/Sample1.tar -C /home/B/ZSBSDP4 .
答案 0 :(得分:2)
您可以在tar命令中编辑名称以删除路径。 (假设你有GNU tar。)
tar -cf /home/A/Sample1.tar --transform 's,.*/\([^/]*\),\1,' /home/B/ZSBSDP4/*.csv
请注意,如果在命令中指定了更多源目录,则可能会意外地在tar文件中放入多个具有相同名称的文件。然后在解包时,最后一个将覆盖那些与它之前具有相同名称的那些。
答案 1 :(得分:1)
您可以使用--exclude = PATTERN选项:
tar -cf /home/A/Sample1.tar -C /home/B/ZSBSDP4 . --exclude=*.dat
手册页中列出的其他“本地文件选择”选项:http://linux.die.net/man/1/tar