tar --仅列出顶级文件和文件夹

Ale*_*lls 12 osx grep tar

usingtar --list --file=x将列出所有文件和文件夹。我只是想列出顶级文件和文件夹

有谁知道这是怎么做到的吗?

或者,有没有人知道如何只列出顶级文件,但包括子文件夹在内的所有文件夹?也许以某种方式使用grep?

更新:寻找适用于包括 MacOS 在内的大多数 nix 风格的东西。

sud*_*dus 12

以下方法适用于我只显示顶级文件和目录名称,

tar --exclude='./*/*' -tvf ttt.tar.gz
Run Code Online (Sandbox Code Playgroud)

下面的方法显示了一个层次,

tar --exclude='./*/*/*' -tvf ttt.tar.gz
Run Code Online (Sandbox Code Playgroud)

目录以斜线结尾。

如果列表不以点或斜线开头,则应使用其他模式,例如

tar --exclude='*/*' -tvf ttt.tar.gz
Run Code Online (Sandbox Code Playgroud)

仅用于顶级目录和

tar --exclude='*/*/*' -tvf ttt.tar.gz
Run Code Online (Sandbox Code Playgroud)

再上一层。

  • 在 `tar` 1.30+ 上这不起作用。我必须对顶级目录使用 `--exclude='*/*'` 。 (2认同)