回答:
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*"
は何ですか?