Как получить абсолютный путь к найденному файлу с помощью команды 'find' в Linux?

Выполнено с помощью Python:

#!/usr/bin/python
import re
k=open('p.txt','r')
for i in k:
    print re.sub(",","\n",i).strip().replace(" ","")

выход

elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
-1
30.04.2021, 08:11
3 ответа

Проблема с вашим

    find ${pwd} | grep 'Test.*zip'

заключается в том, что у вас нет переменной с именем pwd. Так что это то же самое, что и find | grep 'Test.*zip'. Вы хотите указать текущий каталог в качестве отправной точки.

Либо используйте $(pwd)или $PWDвместо ${pwd}. $(pwd)запускает программу pwd, а $PWDиспользует переменную, поддерживаемую bashи другими оболочками POSIX, для указания текущего каталога. Не все оболочки являются POSIX. Вы также должны указать переменную или подстановку команды для защиты от необычных символов в пути к каталогу, так как в итоге вы получите

    find "$PWD" | grep 'Test.*zip'
5
28.07.2021, 11:36

Пути, сообщаемые find, всегда будут начинаться с пути поиска верхнего -уровня, под которым он был найден. Поэтому используйте абсолютный путь в качестве пути поиска:

find "$PWD" -name 'Test*zip'

Переменная PWDбудет содержать абсолютный путь к текущему каталогу.

GNU findпо умолчанию использует текущий каталог,.("точку" ), в качестве пути поиска, если путь поиска не указан, и это то, что происходит в вашей ситуации, поскольку у вас нет переменной называется pwd. Это означает, что все пути, которые проверяет find, будут начинаться с точки. Большинство других реализаций вместо этого выдают ошибку, если путь поиска не указан :

.
$ unset pwd
$ find $pwd
usage: find [-dHhLXx] [-f path] path... [expression]
0
28.07.2021, 11:36

Да, но в вашем предложении нужно больше параметров (путь + файл + действие ), может быть, если вы структурируете свою команду следующим образом:

$> find {path} -iname {file} -exec {action} \;

Используйте команду readlink , чтобы получить абсолютный путь (в Linux и OS/X)

напр.

$> find./www/project/ -iname 'Test*.zip' -exec readlink -f {} \;
/opt/www/project/Test-5.2.0.11.zip
/opt/www/project/Test-5.2.0.13.zip

0
28.07.2021, 11:36

Теги

Похожие вопросы