This is my hierarchy:
aaaaaaaa |_q |_a.txt |_w |_l1 |_l2
l1 and l2 are symlinks to a.txt.
I run this code to find all symlinks to a.txt in the /aaaaaaaa:
find ~/aaaaaaaa/ -exec ls -a {} ';' | grep '/home/khodor/aaaaaaaa/q/a.txt'
And it obviously doesn’t work, cause I must compare realpath of file with path of a.txt. In what way I should do this?
Advertisement
Answer
If you have GNU/BSD find just use -samefile primary.
$ find -L ~/aaaaaaaa/ -samefile ~/aaaaaaaa/q/a.txt /home/oguz/aaaaaaaa/q/a.txt /home/oguz/aaaaaaaa/w/l2 /home/oguz/aaaaaaaa/w/l1