使用Bash shell。
我有一个包含大量子目录的目录。
符号链接指向其中一些。这使得管理内容非常方便,因为符号链接比目录名称具有更具表达性的名称。
对于其他一些目录,此重定向作业仍未完成。
是否有一种Bash方式来列出符号链接没有目标的目录(如果简化,则包含在同一父文件夹中)? 对我来说,这将返回我仍然需要处理的目录,并省去一些容易出错的驴子工作。
答案 0 :(得分:4)
解决方案需要GNU CoreUtils:
#!/usr/bin/env sh
{
# Create a list of null delimited symbolic links destination
find . -type l -printf ./%l\\0
# Append directories to the null delimited list
find . -type d -print0
} |
# Sort the null delimited list
sort -z |
# Extract unique entries (those having no symbolic link)
uniq -zu |
# Produce a human-readable list by replacing null delimiters by newlines
xargs -0l