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*"
不起作用?