使用shell无法正常工作的文件

时间:2011-01-24 16:56:54

标签: shell

我正在尝试将两个文件合二为一,所以我有这个:

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文件?通配符(*)错了吗?

2 个答案:

答案 0 :(得分: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"

请注意,我将-C选项从其后面的CSV文件列表中拆分。

答案 1 :(得分:0)

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

同样-C将目录作为参数。