Mantenha um banco de dados classificado por frequência (frequência + atualidade).
Basta baixar a versão mais recente e adicionar o executável frece
ao PATH
.
Os usuários do Arch Linux podem instalar a partir dos pacotes AUR frece
ou frece-git
.
frece
fornece os seguintes 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
ou a seção Examples
para obter mais informações.
Comece criando um banco de dados:
# Create list of entries
$ echo " apple
banana
cherry " > fruits.txt
# Initialize a database using list of items
$ frece init " fruits.db " " fruits.txt "
Acesse as entradas e imprima uma lista de entradas classificada com freqüência:
# Access an entry
$ frece increment " fruits.db " " cherry "
# Print out frecency sorted list
$ frece print " fruits.db "
cherry
apple
banana
Além disso, um banco de dados pode ser atualizado com novas 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
Os exemplos a seguir podem ser encontrados no diretório examples
:
examples/dir Open a directory
examples/emoji Copy an emoji to clipboard
examples/file Open a file
Por exemplo, examples/dir
pode ser usado da seguinte forma:
Inicialize/atualize um banco de dados em $HOME/.frece_dir.db
, fornecendo uma lista de caminhos para diretórios a serem indexados:
SEARCH_PATHS=( " $HOME " " /some/other/path " )
./examples/dir_update.sh " ${SEARCH_PATHS[@]} "
Dica: execute isso periodicamente por meio de um timer do systemd ou cronjob para atualizar o banco de dados.
Abra com rofi, opcionalmente fornecendo uma lista de argumentos:
ROFI_ARGS=(-p ' folders ' -i -levenshtein-sort)
./examples/dir_rofi.sh " ${ROFI_ARGS[@]} "
Isso abrirá um menu rofi com entradas classificadas por frequência:
Da mesma forma, outros exemplos são oferecidos, incluindo um script rofi para copiar emojis para a área de transferência: