Мне нравится скрипт command-t
в редакторе vim, способный разумно и постепенно искать файлы. Есть ли какая-то аналогичная программа, которая может искать из оболочки? Было бы здорово, если бы он поддерживал режим тегов, чтобы я мог искать на основе тегов. например
$ fnd -t pictures,cars
дает мне список возможностей, и я могу напечатать вкладку и shift-tab и выбрать картинку, которую я хочу
p1.jpg
p2.jpg
p3.jpg
p4.jpg
$ fnd -t pictures,cars,porsche
p2.jpg
p3.jpg
один добавленный тег сузил бы результаты
Я подведу итог: приложение должно поддерживать эффективный поиск. Эффективное средство поддерживает расширенные функции как incremental
, search in content
, tagging
или другую умную технику.
спасибо за предложения
Это может быть не совсем простое решение, которое вы ищете, но zsh может делать то, что вы ищете. Это полная замена для bash, но имеет лучшие возможности для заполнения вкладок и множество других отличных функций.
Есть инструмент поиска на устройствах Mac под названием «spotlight». Мне понравился этот инструмент, и это то, что я нашел. Mutate – отличное приложение для поиска вашего компьютера и Интернета, перевода слов с помощью Google и предоставления некоторых команд, таких как «kill», «Shutdown / Restart / Logout» и «Open URLs in browser».
Мне нравится это приложение, потому что вы можете настроить его с помощью сценариев bash :).
Чтобы установить Mutate в Ubuntu 15.04 / 14.10 / 14.04 / Linux Mint 17.1 / 17 через PPA:
sudo add-apt-repository ppa:mutate/ppa sudo apt-get update sudo apt-get install mutate
вы можете найти скрипты здесь:
~/.config/Mutate/scripts
Это источник, и я думаю, что это будет полезно.
Вы можете использовать поиск для поиска файлов. Параметр -exec позволяет вам искать теги (например, find dir -exec getfattr -nuser.tagfoo ';'
). Вам нужна поддержка файловой системы для getfattr / setfattr. Вы также можете искать на основе контента с помощью grep -r foo dir
или find dir -exec grep -q foo ';' -exec getfattr ...
find dir -exec grep -q foo ';' -exec getfattr ...
если вы хотите совместить его с «тегами».
Если вы используете Mac, то у вас есть то, что вам нужно:
mdfind(1) locate(1)
Также будет делать то, что вам кажется, хотя и не так.