Я сделал ошибку копирования тех же файлов к различным разделам с благими намерениями сократить (удаление) их из источника или цели (целей) позже. Теперь, когда я пытаюсь определить местоположение их, я получаю слишком много результатов locate
команда:
rick@alien:~$ locate "display-auto-brightness"
/etc/cron.d/display-auto-brightness
/home/rick/Pictures/display-auto-brightness conky.png
/home/rick/Pictures/display-auto-brightness systray.png
/home/rick/Pictures/display-auto-brightness-config 1.png
/home/rick/Pictures/ps display-auto-brightness.png
/lib/systemd/system-sleep/display-auto-brightness
/mnt/e/etc/cron.d/display-auto-brightness
/mnt/e/lib/systemd/system-sleep/display-auto-brightness
/mnt/e/usr/local/bin/display-auto-brightness
/usr/local/bin/display-auto-brightness
locate
команда автоматически помещает *
подстановочный знак после строки поиска и возврата дополнительных нежелательных результатов. .png
файлы не должны быть возвращены.
Почему locate
возврат слишком многих результатов?
locate
команда автоматически помещает * подстановочный знак после строки поиска и возвращает дополнительные нежелательные результаты.
Это - поведение по умолчанию locate
. Посмотрите man locate
:
If any PATTERN contains no globbing characters, locate behaves as if
the pattern were *PATTERN*.
Для соответствия только против имени файла явно установите шарик в компоненте контура:
locate '*/display-auto-brightness'
Или используйте regex и --basename
опция для соответствия точному имени файла:
locate --basename --regex '^display-auto-brightness$'
Или, учитывая результаты Вы показали, Вам могла сойти с рук просто просьба о путях, которые содержат display-auto-brightness
в конце:
locate --regex 'display-auto-brightness$'
Я оставлю его Вами для использования этого в цикличном выполнении сценария по каждому имени файла в каталоге.