linux - 在 tarball 目录中搜索文件?

标签 linux command find

所以我有一个 tarball 目录。即/home/用户名/dir_w_tarballs。其中一个 tarball 中有一个许可证 key ,来自曾经在这里工作的工程师。如何在目录中的每个 tarball 中搜索特定文件?类似于 find 的东西。 -name some_file?我知道我可以使用 tar -jtvf file.tar.bz2 搜索单个 tarball。我希望范围更广一些。

最佳答案

这个怎么样:

find -name '*.tar' -o -name '*.tar.*' | while read f; do
    tar -tf "$f" | grep some_file | sed "s|^|$f:|"
done

它将递归查找当前目录下的所有 tarball,列出每个 tarball,使用 grep 搜索特定文件,然后使用 sed 在前面添加 tarball 名称每场比赛,以便您能够知道哪个 tarball 包含每场比赛...

关于linux - 在 tarball 目录中搜索文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11835578/

相关文章:

git - 在 Azure Devops 中查找 commit 以查找非常旧的已删除文件

selenium - nightwatch selenium 命令 "elements"返回有关第一个参数的错误,即使我传入了 css 选择器或 xpath 表达式

PHP:获取当前数组键?

Bash:在一个命令行中删除文件后缀

c++ - 如何使用 C/C++ 通过 system() 系统调用以外的其他方法获取 Linux 中的文件功能?

linux - 使用cmake输出项目根bin子文件夹中的二进制文件

c - 如果我要用汇编编写程序,这个 HelloWorld 汇编代码的哪些部分是必不可少的?

python - tkinter 使用 ID 设置焦点

ubuntu - 在 ubuntu 中为 001,002 更改文件名

linux - 文件和路径列表分隔符 :