在Linux中一次解压缩或者解压缩许多文件
时间:2020-01-09 10:45:44 来源:igfitidea点击:
如果我们有一个包含数十个压缩或者rar文件的目录,那么由于bash shell的强大功能,我们可以运行一个命令将其全部解压缩。
对于此任务,我们将使用bash的loop命令结构。将<var>替换为变量名,并将<list>替换为输出列表或者显式列表的命令。
for <var> in <list> do command $<var>; done
我们可以使用以下语法在一行上运行它:
for <var> in <list>;do command $<var>;done
因此,如果要解压缩文件列表,可以使用此命令。我们不一定需要使用引号,但是当文件名中包含空格或者类似内容时,它会有所帮助。
for f in *.rar;do unrar e "$f";;done
如果要使用7zip提取文件列表:
for f in *.001;do 7z e "$f";;done
或者,如果我们想解压缩文件列表:
for f in *.zip;do unzip "$f";;done
如果愿意,我们甚至可以将命令链接在一起。例如,如果我们所有的zip文件都包含.txt文件,并且我们想解压缩它们,然后将解压缩的文件移动到另一个目录:
for f in *.zip;do unzip "$f";;done; for f in *.txt;do mv "$f"; /myfolder/;done