Как получить абсолютный путь от использования команды find unix

Как получить абсолютный путь с помощью команды find.
на самом деле я запускаю следующий скрипт:

find . -size +20M | while read a do i=$(echo $a | sed 's:/: :g') echo $a; j=($i) fileName=${j[${#j[@]}-1]} userName=${j[${#j[@]}-3]} done 

но здесь переменная $a показывает путь, начиная с ./Downloads/filename но я хочу абсолютный путь из / .

Используйте find с абсолютным путем.

 find /path/ -size +20M 

Он напечатает весь путь.
Если вы не знаете рабочий каталог, используйте команду подстановки для pwd следующим образом:

 find "`pwd`" -size +20M #or like this: find "$(pwd)" -size +20M 

Чтобы получить рабочий каталог

В любом случае, кажется, что Bash теперь советует использовать $() над `` поэтому вы должны использовать вторую форму. Вы также можете ссылаться непосредственно на переменную $PWD которая содержит рабочий каталог вашего сценария, и это, вероятно, будет быстрее, если вам придется использовать в цикле.

 find "$PWD" -size +20M 

Вы можете использовать команду pwd или распечатать файл realpath :

 $ find "$(pwd)" -size +20M $ find . -size +20M -exec realpath {} + 

Обе команды real дают вам абсолютный путь к файлам.

Список всех файлов PNG и JPEG, которые имеют 7 дней с абсолютным путем.

 $ find $PWD/ -mtime -7 -print -exec grep -e ".png\|.jpg" {} \; 

Здесь $PWD будет добавлен в каждый сопоставленный файл.