Инструменты пользователя

Инструменты сайта

Загрузка не удалась. Возможно, проблемы с правами доступа?

linux:linux:command-find

Поиск

$ find ~ -name WWW
find: `/home/alexander/.cache/dconf': Permission denied
/home/alexander/VirtualBox VMs/WWW

Код и вывод команды find - поиск файлов в каталоге. В данном примере ищется каталог WWW в домашней папке пользователя

find ~/WWW/dokuwiki/www/data/*

Найти все файлы в папке ~/WWW/dokuwiki/www/data/

Поиск и сортировка

find /home/alexander/WWW/dokuwiki/www/data/ -name '*.txt' -exec ls -d --full-time "{}" \; | sort -nk 6

Найти все файлы *.txt в каталоге /home/alexander/WWW/dokuwiki/www/data/ и вывести их, отсортировав по времени изменения, от большего к меньшему (если sort -k – то сортировка от меньшего к большему)
В отличие от ls | sort, данная конструкция найдет файлы не только в /home/alexander/WWW/dokuwiki/www/data/ - но и во вложенных каталогах

find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) -exec ls -d --full-time "{}" \; | sort -nk 6

Работает как в предыдущем примере, но ищет файлы, подпадающие под *txt или *.jpg

find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) -exec ls -d --full-time "{}" \; | sort -nk 6 | head -1

Работает как в предыдущем примере, но выводит только первую строку из вывода

$ find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) \( ! -regex '.*/cache.*' \) -type f -printf "%T@ %p\n" | sort -n -r |  head -1

Найти все файлы в папке ~/WWW/dokuwiki/www/data/, исключив из поиска /WWW/dokuwiki/www/data/cache и выведя первую строку вывода (расширение предыдущего примера)

Поиск и выполнение действий

$ find ~/WWW/tervenichi/www/images/0_ST* -exec  rm -f {} \;

В данном примере ищется файл по маске ~/WWW/tervenichi/www/images/0_ST* и для каждого найденного вызывается rm -f {}, где вместо {} подставялется найденное имя файла.

Ссылки

linux/linux/command-find.txt · Последние изменения: 2021/02/11 09:20 (внешнее изменение)