2011-01-24 107 views
0

我想一两个文件tar进一个文件,所以我有这样的:tarring与外壳不工作

tar -zcvfW "${DATADIR}daily_data_files/LeveL_EOD_VOL_${1}.tar.gz" -C "${DATADIR}temp/LeveL_EOD_VOL_*_${1}.csv" >> "${DATADIR}temp/email.log" 

但是,我得到这些错误:

tar: Removing leading '/' from member names 
tar: /var/www/vhosts/levelats/data/daily_data_files/LeveL_EOD_VOL_20110121.tar.gz: Cannot stat: No such file or directory 
tar: LeveL_EOD_VOL_*_20110121.csv: Cannot stat: No such file or directory 
tar: Error exit delayed from previous errors 

我不确定为什么tar没有被创建,是因为它找不到两个Level_EOD文件?通配符(*)是否错误?

+0

是的,`*`是错误的。内部引号不会被shell扩展。 – 2011-01-24 17:00:05

回答

1

我认为发生的事情是-C选项试图将目录切换到您的glob模式扩展的第一个目录;我想你想:

tar -zcvfW "${DATADIR}daily_data_files/LeveL_EOD_VOL_${1}.tar.gz" -C "${DATADIR}temp/" "LeveL_EOD_VOL_\*_${1}.csv" >> "${DATADIR}temp/email.log" 

注意,我从后自带CSV文件的列表分裂-C选项。

0

选项标志的顺序很重要(至少f需要在文件名之前)。尝试将-zcvfW更改为-zcvWf

另外-C将目录作为参数。

+0

这样做给了我tar:无法验证压缩档案 – Magicmarkker 2011-01-24 17:37:28

相关问题