我希望tar提取在某个文件范围之后停止

时间:2016-11-04 19:14:02

标签: tar large-data

我有一个庞大的tar存档,我可以将大部分文件拉出来,一次处理一个。我不想保管它以防止它填满磁盘并使其他应用程序崩溃。

我知道我可以使用--starting-file=从存档中的任意文件开始,但似乎不是--stopping-file=命令。

看起来我可以写一个反向排除模式让它忽略之后的所有文件,但似乎它仍然会尝试循环遍历所有索引(至少是顶级文件夹)检查它们,消耗资源和防止提前终止。

是否有更好的方法可以阻止它在我想要的部分之后继续?

1 个答案:

答案 0 :(得分:0)

您可以使用grep

写出完整的文件列表

链接tar -t -f my.tar | grep "my/folder/path" > my.list等过滤器或修改文件可以限制列表。因此,要提取路径' my / folder / path'下的所有文件和文件夹,请运行tar x -T my.list -f my.tar

然后使用<?php $sqlRead = "SELECT * FROM dados ORDER BY name ASC"; try{ $read = $db->prepare($sqlRead); $read->execute(); $result = $read->rowCount(); } catch (PDOException $e) { echo $e->getMessage(); } if($result == 0){ echo "NOTHING FOUND!"; } else { while ($rs = $read->fetch(PDO::FETCH_OBJ)){ ?> <?php echo $rs->name; ?> <?php } } ?>

提取列出的文件

感谢Jens的战略建议。