Find komutuna mutlak bir yol verirseniz, sonuçları mutlak bir yolla tükürür. Eğer Ken dizininden yazacaksanız:
find /home/ken/foo/ -name bar -print
(göreli yol yerine find . -name bar -print)
Şunları elde etmelisiniz:
/home/ken/foo/bar
Bu nedenle, bir istiyorsanız ls -lve mutlak yolu döndürmesini istiyorsanız, find komutuna ls -lbulduğu her şeyi bir çalıştırmasını söyleyebilirsiniz .
find /home/ken/foo -name bar -exec ls -l {} ;\
NOT: {}ve arasında bir boşluk vardır;
Bunun gibi bir şey elde edersiniz:
-rw-r--r-- 1 ken admin 181 Jan 27 15:49 /home/ken/foo/bar
Dosyanın nerede olduğundan emin değilseniz, arama konumunu istediğiniz zaman değiştirebilirsiniz. Arama yolu "/" ile başladığı sürece, mutlak bir yol elde edersiniz. Çok sayıda izin reddedildi hatası alacağınız bir konum (/ / gibi) arıyorsanız, sonuçları bulmak için standart hatayı yeniden yönlendirmenizi öneririm:
find / -name bar -exec ls -l {} ;\ 2> /dev/null
( 2>Borne ve Bash kabuklarının sözdizimidir, ancak C kabuğu ile çalışmaz. Diğer kabuklarda da işe yarayabilir, ancak sadece Bourne ve Bash'da çalıştığından eminim).
find /home/ken/foo/bar -exec ls -ld $PWD/{} \;