Найти файл с точным именем без использования подстановочного знака

12

Я использую Ubuntu около 2 недель и до сих пор разочарован простыми файловыми операциями.

Я хочу найти файл с именем 9.jpg . Каждая внутренняя команда и сторонняя программа, которую я пробовал, дает мне 99.jpg, 999.jpg, «lovepotion number9.jpg» и еще миллион подобных.

Как вы ищете ТОЧНОЕ имя файла без подстановочных знаков?

Это только мое последнее разочарование. Я явно упускаю что-то простое. хороший учебник где-нибудь?

Лев в Нью-Джерси
источник

Ответы:

9
locate /9.jpg

Обратите внимание /- без него вы просто найдете каждый файл, оканчивающийся на 9.jpg. Технически, однако, он ищет пути к файлам, используя его в качестве подстроки на всех дисках, что включает в себя 9.jpg.png, так что это лучше работает с файлами с расширениями - при использовании файла с именем log /logбудет отображаться каждый файл /var/log/.

штифтик
источник
человек говорит "использовать locate - r \[filename]". оба, кажется, работают.
phil294
@Blauhirn Ты о чем man locate? Потому что мой говорит, чтобы использовать locate -b '\NAME'.
wjandrea
@wjandrea мой тоже. Я понятия не имею больше. Возможно руководство изменилось
phil294
8

Как вы ищете ТОЧНОЕ имя файла без подстановочных знаков?

Для поиска точного файла без подстановочных знаков используйте findкоманду.

  1. Открыть терминал, нажав Ctrl+ Alt+T

  2. Введите команду и нажмите Enter

    find / -name 9.jpg
    

Если вы хотите искать только в своей домашней папке, используйте ~/вместо /и так далее. Замените /на имя каталога, который вы хотите найти в них. Если вы хотите искать в текущем каталоге и во всех каталогах, в которых он находится, используйте ./вместо /.

Анвар
источник
2

Поиск в nautilus (файловый менеджер) ограничен простой подстановочной символом. Если вам нужно что-то более сложное, вы можете выбрать графический интерфейс или командную строку.

GUI: установите пакет gnome-search-tool либо через центр программного обеспечения, либо набрав

 sudo apt-get install gnome-search-tool

Запустите его (это называется «поиск файлов»). Оставьте основную запись пустой и добавьте параметр поиска «Имя соответствует регулярному выражению». В новом текстовом поле введите ^9.jpg( ^в начале соответствует началу строки в регулярном выражении).

введите описание изображения здесь

Что касается командной строки, findутилита даст вам точный ответ:

 find . -name '9.jpg'

Учтите это: файлы "999.jpg" и "9.jpg" в каталоге t/:

$ ls t
99.jpg  9.jpg
$ find . -name '9.jpg'
./t/9.jpg
$ find . -name '*9.jpg'
./t/99.jpg
./t/9.jpg
$

Я надеюсь, что это понятно.

январь
источник