从 TREE 命令输出创建目录和文件

问题描述 投票:0回答:2

我使用树命令递归地列出了大约一百个文件夹,其中包含大约 150 个文件。该树输出保存在文件中。

如何通过 bash 解析此文件并在另一台计算机上重新创建这些文件和文件夹?

请注意,我不需要复制这些文件。我所需要的只是在另一台计算机上使用相同的命名约定,在那里将完成一些自定义工作。

bash tree
2个回答
6
投票

find 会做你想做的事情,比如

find /my/pathto/blah -type d | sed -e "s/^/mkdir -p /g" > commands
find /my/pathto/blah -type f | sed -e "s/^/touch /g" >> commands

第一个查找将创建创建目录的指令。 第二个查找将创建创建空文件的说明。


0
投票

我知道已经过去十多年了,但我通过明确搜索来发现这个问题,看看是否有人问过这样的问题。

我发现它的存在既有趣又温暖人心,并且这些回答让我想知道阻止更多人提出这样的问题的一个因素是否是明显的自我回答“好吧,树的产出是为人类准备的” .”

虽然这当然是正确的,但对我来说,这并没有阻止这个问题多次出现在我的脑海中(多年来,但仍然如此。)例如,如果 OP 无法访问像使用 find 命令来回答需要,但就像 OP 所说的“这个树输出保存在一个文件中”,并且用户想要解析这个文件,而那些 find 命令不会这样做。

所以...我最终花费了比预期或预期更多的时间来解决这个问题,因此时间价值/成本效益比不利于最终的工具。 因此,我认为,由于我永远不可能用自己的使用来纠正这种价值不平衡,所以我会着手看看是否有其他人搜索过从某些文档解析树输出并创建目录的问题的解决方案以及文件系统上此树中表示的(空)文件。

因此,为了追溯性地收回所花费的时间/精力并节省集体时间/精力,我想介绍这个新工具,您可以从 bash 甚至从 vscode 运行它(我已经承认花费了太多时间)关于这一点):https://github.com/scottvr/eert

© www.soinside.com 2019 - 2024. All rights reserved.