好的,这是我第三次尝试发布此内容,也许我问错了问题!
我已经有几年没有做过任何 shell 编程了,所以我有点生疏了……
我正在尝试创建一个简单的 shell 脚本,该脚本在树中某个命名子目录下查找所有子目录,并创建指向这些目录的符号链接(听起来比实际更混乱)。我在 Windows XP 上使用 cygwin。
这个 find/grep 命令可以像我希望的那样在文件系统中查找目录:
find -mindepth 3 -maxdepth 3 -type d | grep "New Parts"
现在最难的部分...我只想获取该列表,将其通过管道传输到 ln 并创建一些符号链接。目录列表有一些空格,所以我试图使用 xargs 来清理一下:
find -mindepth 3 -maxdepth 3 -type d | grep "New Parts" | xargs -0 ln -s -t /cygdrive/c/Views
不幸的是,ln 会吐出一长串串联在一起的所有目录(由 \n 分隔)并吐出“文件名太长”错误。
想法??