我想根据原始文件名从目录中检索 .gz 文件。请告诉我如何操作。
在下面的例子中,我只知道原始文件名(02.txt),并且我需要从该目录中检索文件 abc02.gz。
GZ File Name Original File Name
abc01.gz 01.txt
abc02.gz 02.txt
abc03.gz 03.txt
答案1
我假设您的意思是 .tar.gz 和 .tgz 文件而不是 .gz 文件,因为 .gz 文件通常只是具有相同文件名但附加了 .gz 的单个文件。
以下是搜索包含名为“02.txt”的文件的所有 .tgz 和 .tar.gz 文件的方法:
for f in *.tgz *.tar.gz; do tar ztf "$f" | grep -q '/02.txt$' && echo "$f"; done