Если вы даете найти команду абсолютный путь, он плюнет результаты с абсолютным дорожка. Таким образом, из каталога Кена, если вы должны были набрать:
находка/дома/кен/Foo/-name бар -print
(вместо относительного пути найти -name бар -print.)
You должны получить:
/дома/кен/Foo/бар
Поэтому, если вы хотите Ls -l и он возвращает абсолютный путь, вы можете просто сказать команду поиска, чтобы выполнить Ls -l на что бы он ни нашел.
находка/дома/кен/Foo -name бар -exec Ls -l {}; \
Примечание: Существует пробел между {} и;
Вы получите что-то вроде этого:
-rw-р - r-- 1 кен администратора 181 27 января 15:49/главная/кен/Foo/бар
Если вы Арен» t, где находится файл, вы всегда можете изменить местоположение поиска. Пока путь поиска начинается с «/», вы получите абсолютный путь в обратном порядке. Если вы ищете местоположение (например, /), где вы собираетесь получить много разрешенных прав, я бы рекомендовал перенаправить стандартную ошибку, чтобы вы действительно могли видеть результаты поиска:
find/-name bar -exec ls -l {}; \ 2>/dev/null
(2> является синтаксисом для оболочек borne и bash, но не работает с c shell.Он может работать и в других оболочках, но я точно знаю, что он работает в bourne и bash).
Надеюсь, это поможет!
use: find/home/ken/foo/bar -exec ls -ld $ PWD/{} \; – Learner 2013-12-05 04:57:01