我在 Ubuntu 中使用 Bash 脚本。我有几个.mbz
文件,基本上都是zip files
这样,所以我想用tar
.我如何用循环压缩它们并为每个文件创建一个目录。
例如,这就是我对一个文件所做的事情
mkdir course4444 tar -xvzf course4.mbz -C course4444 cd course4444 tar -cvzf course4444.mbz *
但是,我有超过 6 个 .mbz 文件,因此我希望每个文件都有一个目录。
答案1
我不是 mbz 文件方面的专家。但如果只是对多个文件执行某些操作,您可以使用此模式。
for mbzfile in course01.mbz course02.mbz c3.mbz c4.mbz c5.mbz c6.mbz; do
echo "file : $mbzfile"
done
将打印:
file : course01.mbz
file : course02.mbz
file : c3.mbz
file : c4.mbz
file : c5.mbz
file : c6.mbz
这意味着你会这样做:
for mbzfile in course01.mbz course02.mbz c3.mbz c4.mbz c5.mbz c6.mbz; do
mkdir "${mbzfile%%.mbz}"
tar -xvzf "$mbzfile" -C "${mbzfile%%.mbz}"
cd "${mbzfile%%.mbz}"
tar -cvzf "$mbzfile" *
done
尽管我不清楚最后一个tar
命令应该做什么(因为您谈到提取内容,而这会重新创建一些内容。