Я допустил ошибку при копировании одних и тех же файлов в разные разделы с хорошими намерениями обрезания (удаления) их из источника или цели (ов) позже. Теперь, когда я пытаюсь найти их, я получаю слишком много результатов из команды 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 автоматически помещает * wild card после строки поиска и возвращает лишние нежелательные Результаты. Файлы .png не должны возвращаться.
Почему locate возвращает слишком много результатов?
Это поведение по умолчанию locate. См. [F7]:
If any PATTERN contains no globbing characters, locate behaves as if
the pattern were *PATTERN*.
Чтобы соответствовать только имени файла, явно задайте glob в компоненте пути:
locate '*/display-auto-brightness'
Или используйте регулярное выражение и --basename вариант для сопоставления точного имени файла:
locate --basename --regex '^display-auto-brightness$'
Или, учитывая результаты, которые вы показали, вы могли бы просто просить пути, которые содержат display-auto-brightness в конце:
locate --regex 'display-auto-brightness$'
Я оставлю это вам, чтобы использовать это в скрипте, перебирающем каждое имя файла в каталоге.
Это поведение по умолчанию locate. См. [F7]:
If any PATTERN contains no globbing characters, locate behaves as if
the pattern were *PATTERN*.
Чтобы соответствовать только имени файла, явно задайте glob в компоненте пути:
locate '*/display-auto-brightness'
Или используйте регулярное выражение и --basename вариант для сопоставления точного имени файла:
locate --basename --regex '^display-auto-brightness$'
Или, учитывая результаты, которые вы показали, вы могли бы просто просить пути, которые содержат display-auto-brightness в конце:
locate --regex 'display-auto-brightness$'
Я оставлю это вам, чтобы использовать это в скрипте, перебирающем каждое имя файла в каталоге.