Я делаю ежедневные заметки в файле простого текста, маркированном датой в формате YYYYMMDD. Эти файлы являются не больше, чем 100 строками долго и записаны в формате стиля блога.
Я хотел бы смочь поиск эти файлы, как будто они были сообщениями в блоге, индексированными Google, с некоторым запросом фразы, возвращая самые соответствующие/недавние имена файлов даты, с отрывком, содержащим соответствующую часть.
Идеально это было бы что-то вроде этого:
#searchindex "laptop no sound"
возвраты:
20100909.txt:
... звук ноутбука не работает...
20100101.txt
... звук является слишком громким... дебатирование что ноутбук купить...
и т. д. и т. п.
Я работаю над платформой Linux (Debian с GNOME). Я посмотрел на Гончую и Средство отслеживания, но они просто кажутся полным излишеством для того, что я хочу.
Править: Много предложений включают grep, но я хотел бы что-то немного более мощное, чем это, принимая во внимание близость ключевых слов, даты, и т.д. Многие из этих файлов будут иметь несколько подобные ключевые слова, таким образом, я буду получать слишком много хитов, использующих просто grep. Я не возражаю против дополнительных издержек индексации.
Можно использовать grep
в a bash
функция для этого:
function searchindex () { if [ "$#" -gt 0 ] ; then ls -t | xargs -L1 grep -H -C3 -- `echo "$@" | sed 's/ /\\\|/g'` fi }
Где -C3
количество строк контекста, если Вы хотите просто подобранную строку, можно удалить его.
Был бы плоскость grep делать то, что Вы хотите?
$ egrep "laptop|sound" *txt 20100101.txt:sound is too loud... debating what laptop to buy 20100505.txt:the sound of silence 20100606.txt:I just bought a new laptop 20100909.txt:laptop sound isn't working $ egrep "laptop.*sound|sound.*laptop" *txt 20100101.txt:sound is too loud... debating what laptop to buy 20100909.txt:laptop sound isn't working $ grep laptop *txt | grep sound 20100101.txt:sound is too loud... debating what laptop to buy 20100909.txt:laptop sound isn't working
Linux Google Desktop доступен в репозиториях Debian и сделает то, что Вы хотите. Если Вы испытываете затруднения из-за горячей клавиши по умолчанию для перевода в рабочее состояние поля поиска, затем используют эту фиксацию. Можно ограничить типы файлов и местоположений, которые индексируются так, Вы не становитесь перегруженными. Я попробовал и Гончую и Средство отслеживания прежде, чем обосноваться на Google Desktop.
Извините - не командная строка, но все еще стоящий взгляда.