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 -l
ve mutlak yolu döndürmesini istiyorsanız, find komutuna ls -l
bulduğ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/{} \;