使用awk解压缩目录中的文件

Kha*_*aGd 0 grep sed awk

当我需要在我使用的特定目录中解压缩每个文件时,我在目录中有一些 zip 文件

ls | awk '{ print "unzip " $1 " -d " $1} '
unzip p21286665_121020_Linux-x86-64.zip -d p21286665_121020_Linux-x86-64.zip
unzip p21841318_121020_Linux-x86-64.zip -d p21841318_121020_Linux-x86-64.zip
unzip p22098146_121020_Linux-x86-64.zip -d p22098146_121020_Linux-x86-64.zip
Run Code Online (Sandbox Code Playgroud)

但我需要这样的东西。

unzip p21286665_121020_Linux-x86-64.zip -d p21286665
unzip p21841318_121020_Linux-x86-64.zip -d p21841318
unzip p22098146_121020_Linux-x86-64.zip -d p22098146
Run Code Online (Sandbox Code Playgroud)

小智 5

您还可以使用 -F 参数在下划线处拆分行,从而得到如下结果:

ls | awk -F_ '{print "unzip " $0 " -d " $1; }
Run Code Online (Sandbox Code Playgroud)