我有一个Dir1包含多个子目录和文件的文件。我打算复制到Dir1,Dir2以便其中的所有文件都只是空文件,但与 Dir1 具有相同的文件名。
然后我打算将 Dir2 推送到 github 以向用户解释示例数据结构和文件名。
是否有命令以某种方式将文件复制到目标文件为空但文件名相同?
Gil*_*il' 12
使用 GNU coreutils(例如在非嵌入式 Linux 或 Cygwin 上),它就像
cp -a --attributes-only Dir1 Dir2
Run Code Online (Sandbox Code Playgroud)
或者更复杂,但只有一个文件系统传递(为了更多的可移植性,~应该写为$HOME)
find . \( -type d -exec mkdir -p "~/elsewhere/{}" \; \
-o -type f -exec touch "~/elsewhere/{}" \; \)
Run Code Online (Sandbox Code Playgroud)
这里的复杂性在于布尔逻辑(这可能对学习有一些好处)和优先级(也很高兴知道)的复杂性,以及如何find使用隐式 AND-type和后续动作之间的 AND 来实现这些概念,以及 OR 出现为-o.