Answers:
您可以使用find来提取symlink类型的所有文件,并添加-ilname选项以按链接目标的名称进行搜索。就像-iname链接目标名称而不是链接名称一样工作。
find -type l -ilname "*bar*"
那仍然会打印出链接的名称,而不是目标。如果要打印目标的名称,请尝试以下操作:
find -type l -ilname "*bar*" -printf "%l\n"
或获取完整ls样式的输出
find -type l -ilname "*bar*" -ls
“ 用列表做某事 ”的含义尚不清楚,但是如果您想对链接文件进行操作,则可以使用该-exec参数来查找:
find -type l -ilname "*bar*" -exec touch {} \;
但是,如果您需要对链接目标进行操作,则需要使用-printf来获取目标值,然后xargs或者自己进行一些循环操作。您可以执行以下操作:
find -type l -printf "%l\n" | grep bar | xargs touch
...还演示了如何使用grep而不是进行find -ilname名称匹配,尽管您可以通过任何一种方式进行匹配。
find /dev/disk/ -type l -ilname "*sde*"不起作用?