Es una gran pregunta, y estaba buscando algo así también, pero estoy bastante seguro de que nada de eso ya está integrado en Nautilus,
pero si puede pasar la mano a algunas secuencias de comandos, podría adaptar Nautilus de manera relativamente fácil file Notes
para hacer algo similar. Requeriría algunas secuencias de comandos básicas (+?).
Con file Notes
usted puede agregar notas a un directorio, así como archivos.
Sería una simple cuestión buscar en las Notas su (s) Etiqueta (s) específica (s) y luego crear enlaces temporales (o permanentes) a cada directorio con una Etiqueta coincidente en las 'Notas' ... luego coloque estos enlaces en una 'búsqueda' directorio de resultados ... que luego presentaría en una ventana de Nautilus ...
Si tuviera el tiempo libre, lo haría yo mismo, pero en su lugar, aquí hay un script que escribí para acceder y escribir y eliminar Nautilus Notes. No hace lo que describí anteriormente, pero muestra cómo acceder el caché de datos de Notes . El guión está destinado a ser utilizado pornautilus-actions
El script está en pastbin.ubuntu.com
ACTUALIZACIÓN : ahora he escrito un script de trabajo que usa enlaces como se describe anteriormente. Sin embargo, ahora he cambiado la idea de "nautilus Notes" e injertado en los archivos .tag del usuario desconocido en su lugar ... (entonces, si te gusta el script , recuerde que la idea .tag es 'usuario desconocido') .
Me gustan los archivos de texto sin formato (son simples y versátiles y muy fáciles de trabajar).
Lo he utilizado locate
como herramienta de búsqueda, ya que es muy rápido, pero es solo tan actualizada como la última ejecución de updatedb
(que normalmente es diaria, pero puede ejecutarla en cualquier momento).
Intenté explicar el uso del script en los comentarios, pero debo señalar que no está completamente probado, por lo que puede comportarse mal en algunos puntos menores.
Lo único que elimina / elimina es el directorio temporal y cualquier enlace suave contiene ... Tenga en cuenta que al eliminar los enlaces blandos no se eliminan los directorios de destino / datos.
Aquí está el guión
ACTUALIZACIÓN2 : (se corrigió un error. Solo procesaba los primeros 100 archivos .tag ubicados)
#!/bin/bash
# Script: dirtags ...(by fred.bear)
#
# Summary: Open the file browser in a temporary directory
# which contains soft-links to directories whose
# '.tag' file contains the search string in $1
#
# .tag files are files you create in any directory which
# you wish to *tag*.
#
# .tag files are simple free form text, so you can
# put anything you like in them...
#
# The script uses `locate` to create a list of .tag file
# 'locate' is very fast, but because it depends on 'updatedb'
# for its list of current files, it can be a bit out of sync
# with a newly added .tag file... Modifying an existing
# .tag file does not effect `locate`
# To refresh the `locate` database, just run 'sudo updatedb'
# .. (updatedb typically auto-runs once a day, but you should check)
#
# Note: The search result soft links are put into a temporary directory
# This directory is removed each time you run the script
# TODO: allow saved searches (?) maybe
#
# Note: With nautilus, running the script a second time while
# the previoulsy opened wiondow is still open, cause the
# second window to open in its parent directory: /tmp/$USER
# ... but you can then just enter the 'dirtags' dir
# you see listed /tmp/$USER/$bname
# TODO: this probably happens because currently the
# directory is being removed each time the script
# is run... (related to "allow saved searches")
#
# A sample usage of this script:
#
# 1. Make a '.tag' file in each of several test directories.
# 2, For this first-time test, run 'sudo updatedb' so that the
# newly added .tag files are added to the 'locate's database
# 3. In each .tag file, put some tags (words or phrases to serch for)
# eg; action comedy drama good bad sci-fi documentary
# 4. Run this script with a single argument.. (a grep regex)
# eg "action|comedy"
#
function args_grep_links {
# $1 -- the grep regex
##echo grep -l '"'$1'"' ${tagged[@]}
< <(eval grep -l '$1' ${tagged[@]}) \
sed "s/^\(.*\)\/\.tag/ln -s \"\1\" $tagdbs/" \
>>"$tagdir"/.tag.slinks
##(gedit "$tagdir"/.tag.slinks &)
# make the soft links
source "$tagdir"/.tag.slinks
rm "$tagdir"/.tag.slinks
unset tagged
aix=
}
# Identity the script
bname="$(basename "$0")"
# Syntax
if [[ "$1" == "" ]] ; then
echo "ERROR: $bname requires one arg; a 'grep' regular expression string"
echo " eg: $bname \"music\" ......... Any instance of \"music\" .....(eg: \"musical\")"
echo " eg: $bname \"\<music\>\" ..... Only the word \"music\" ...(but not \"musical\")"
echo " eg: $bname \"muscic\|action\". Any instance of \"music\" or \"action\")"
exit 1
fi
# 'locate' the .tag files
# =======================
tagdir="/tmp/$USER/$bname"
tagdbs="${tagdir//\//\/}"
[[ -d "$tagdir" ]] && rm -rf "$tagdir" # remove all
[[ ! -d "$tagdir" ]] && mkdir -p "$tagdir" # fresh start
cp /dev/null "$tagdir"/.tag.slinks
unset tagged # array of .tag files
aix=0 # arg index
amax=10 # arg max per call to grep
fct=0 # file count
while IFS= read -r file ; do
tagged[$aix]="$file"
####echo ${tagged[aix]}
((aix++));((fct++))
(( aix == amax )) && args_grep_links "$1"
done < <(locate -ber ^\.tag$ |sed "s/.*/\"&\"/")
(( aix < amax )) && args_grep_links "$1"
sleep 1 # to allow time for rm to settle down after rm and adding links
xdg-open "$tagdir"
exit
#