fselect 0.9.1

good-penguin.png

fselect — это консольная утилита для поиска файлов с помощью выражений, напоминающих SQL. В некоторых случаях может заменить традиционный find и написание развесистых скриптов с его использованием.

Преимущества:

  • возможность создания сложных запросов с помощью скобок и операторов SQL
  • использование подзапросов для поиска и сравнения результатов сразу в нескольких директориях
  • множество функций (агрегации, статистические, работа с датой и временем и т.д.), заимствованных из SQL
  • поиск внутри zip-архивов
  • поиск с учетом .gitignore
  • поиск по ширине/высоте изображений, метаданных EXIF
  • поиск по метаданным MP3-файлов
  • поддержка расширенных файловых атрибутов в Linux
  • поиск по хэшам содержимого файлов
  • интерактивный режим
  • форматирование вывода в CSV, JSON и null-terminated строки

Релиз 0.9.1 ознаменовался расширенной поддержкой подзапросов в операторах IN и EXISTS. Таким образом, теперь стало возможным искать файлы и сравнивать результаты поиска сразу в нескольких директориях.

Пример запроса (поиск файлов формата Markdown из директории content, для которых не были сгенерированы соответствующие HTML-файлы в директории public):

SELECT path
  FROM /content AS content
 WHERE NOT EXISTS (
       SELECT * FROM /public AS public
       WHERE public.dir = content.dir AND public.name = CONCAT(content.filename, '.html')) 
   AND name = '*.md'

>>> Репозиторий проекта на GitHub

©  Linux.org.ru