查找文件名中包含字符串的文件并解压缩

Find files with a string in filename and unzip

我有一个装满 zip 文件的文件夹。使用 linux 终端,我需要在 zip 文件名中找到具有特定字符串的文件,并将它们仅解压缩到另一个文件夹。我尝试了以下但没有成功。

find /some_folder/ -name "*[temperature]*.zip" | parallel unzip '/some_folder/unzippedfiles/'

首先,模式不匹配,其次,我不确定输出是否可以重定向到另一个文件夹。有人可以建议修复吗?提前致谢

/some_folder/ 必须是绝对路径:

find /some_folder/ -name "*temperature*.zip" |
  parallel 'mkdir -p /some_folder/unzippedfiles/; cd /some_folder/unzippedfiles/ && unzip'

查找文件名模式并解压到新文件夹

find /some_folder/ -name "*temperature*.zip" |
    parallel "mkdir -p {//}/unzippedfiles && cd {//}/unzippedfiles && unzip -q {}"

忽略具有模式文件名的文件并解压缩到新文件夹

find /some_folder/ ! -name "*temperature*.zip" |
    parallel "mkdir -p {//}/unzippedfiles && cd {//}/unzippedfiles && unzip -q {}"

mkdir -p --> Creates a folder if it does not exist
-q --> quiet mode 
{//} --> mydir/mysubdir (In this case, it is /some_folder)