我正在尝试将两个文件合二为一,所以我有这个:
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 :(得分: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
将目录作为参数。