我希望 tar 提取在某个文件范围后停止
I want tar extract to stop after a certain file range
我有一个巨大的 tar 档案,我正在从中拉出大部分来一次处理一个。我不想为了防止它填满磁盘和崩溃其他应用程序而不得不照看它。
我知道我可以使用 --starting-file=
从存档中的任意文件中获取 tart,但似乎没有 --stopping-file=
命令。
看起来我可以写一个反向排除模式让它忽略所有文件之后,但它似乎仍然会尝试循环遍历所有索引(至少是顶级文件夹)检查它们,消耗资源并防止提前终止。
有没有更好的方法阻止它在我想要的部分之后继续?
您可以用 tar -t -f my.tar > my.list
写出完整的文件列表
像 grep
这样的链接过滤器或修改文件可以限制列表。所以要解压'my/folder/path'、运行tar -t -f my.tar | grep "my/folder/path" > my.list
路径下的所有文件和文件夹
然后使用 tar x -T my.list -f my.tar
提取列出的文件
感谢 Jens 的策略建议。
我有一个巨大的 tar 档案,我正在从中拉出大部分来一次处理一个。我不想为了防止它填满磁盘和崩溃其他应用程序而不得不照看它。
我知道我可以使用 --starting-file=
从存档中的任意文件中获取 tart,但似乎没有 --stopping-file=
命令。
看起来我可以写一个反向排除模式让它忽略所有文件之后,但它似乎仍然会尝试循环遍历所有索引(至少是顶级文件夹)检查它们,消耗资源并防止提前终止。
有没有更好的方法阻止它在我想要的部分之后继续?
您可以用 tar -t -f my.tar > my.list
像 grep
这样的链接过滤器或修改文件可以限制列表。所以要解压'my/folder/path'、运行tar -t -f my.tar | grep "my/folder/path" > my.list
然后使用 tar x -T my.list -f my.tar
感谢 Jens 的策略建议。