从某些.tar.gz文件创建tar文件

时间:2014-04-27 10:32:01

标签: shell tar

我想在.tar中的所有.gz个文件中创建一个$a/$b文件,然后删除这些文件。

我提出了以下代码,但它无效:

cd "$a"
#tar cf $a/$b'.tar' "$b_sql.gz" "$b_moh.tar.gz" 
tar cf $a/$b'.tar' $b'_*.gz'
gzip $a/$b'.tar'
rm -f $b'_*.gz'

2 个答案:

答案 0 :(得分:3)

我试着这样回答:

cd "$a"
for f in $b'_*.gz'
do
   tar cf $a/$b'.tar' $f
done

答案 1 :(得分:2)

问题在于您在字符串中使用*。它将*视为一个字符,而不是在shell中执行glob。

您可以在shell中运行ls *.gz然后ls '*.gz'来自行测试。