我想在.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'
答案 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'
来自行测试。