Mantener una base de datos ordenada por frecuencia (frecuencia + actualidad).
Simplemente descargue la última versión y agregue el ejecutable frece
a PATH
.
Los usuarios de Arch Linux pueden instalar desde los paquetes AUR frece
o frece-git
.
frece
proporciona los siguientes subcomandos:
increment Increases an entry's count and resets its timer
init Creates a database file from given list of entries
print Prints list of frecency sorted entries
update Updates a database file from given list of entries
Consulte frece --help
o la sección Examples
para obtener más información.
Comience creando una base de datos:
# Create list of entries
$ echo " apple
banana
cherry " > fruits.txt
# Initialize a database using list of items
$ frece init " fruits.db " " fruits.txt "
Acceda a las entradas e imprima una lista de entradas ordenadas por frecuencia:
# Access an entry
$ frece increment " fruits.db " " cherry "
# Print out frecency sorted list
$ frece print " fruits.db "
cherry
apple
banana
Además, una base de datos se puede actualizar con nuevas entradas:
# Create another list
$ echo " apple
cherry
elderberry
grapefruit " > fruits.txt
# Update database with new list
# Optionally, purge old entries like "banana"
$ frece update " fruits.db " " fruits.txt " --purge-old
# Print out frecency sorted list (verbosely)
$ frece print " fruits.db " --verbose
frecency count last access date item
0.128476 1 2019-05-17T00:49:14+00:00 cherry
0.000000 0 1970-01-01T00:00:00+00:00 apple
0.000000 0 1970-01-01T00:00:00+00:00 elderberry
0.000000 0 1970-01-01T00:00:00+00:00 grapefruit
Los siguientes ejemplos se pueden encontrar en el directorio examples
:
examples/dir Open a directory
examples/emoji Copy an emoji to clipboard
examples/file Open a file
Por ejemplo, examples/dir
se pueden utilizar de la siguiente manera:
Inicialice/actualice una base de datos en $HOME/.frece_dir.db
, proporcionando una lista de rutas a directorios para indexar:
SEARCH_PATHS=( " $HOME " " /some/other/path " )
./examples/dir_update.sh " ${SEARCH_PATHS[@]} "
Consejo: ejecute esto periódicamente mediante un temporizador systemd o cronjob para actualizar la base de datos.
Abra con rofi y, opcionalmente, proporcione una lista de argumentos:
ROFI_ARGS=(-p ' folders ' -i -levenshtein-sort)
./examples/dir_rofi.sh " ${ROFI_ARGS[@]} "
Esto abrirá un menú rofi con entradas ordenadas por frecuencia:
De manera similar, se ofrecen otros ejemplos, incluido un script rofi para copiar emojis al portapapeles: