我在一个目录中有大约 43996 个符号链接,并且想要检查它们中的任何一个在其路径的任何点是否在 posix shell 脚本中退出该目录,即使最终目标位于目录内。
例如假设以下结构:
dir/.
dir/file
dir/link -> ../dir/file
这里dir/link
最终到达一个文件dir
但是退出目录到达那里这就是我想要检测的。
我本来会打印链接位置的完整路径并附加链接内容,使用 tr 剪切符号链接的各个部分并将其传送到一段时间的读取循环以某种方式解析它,但这听起来太慢了。我希望能够在几秒钟内对所有 43996 个链接运行此操作。
我想我可以编写一个 C 程序并将上述文本通过管道传输到前面,tr
但如果可能的话,我更愿意将其保留在 POSIX shell 和实用程序中。
你能想到更好的办法吗?