Etiquetado de carpetas?

8

¿Hay algún programa que pueda etiquetar carpetas? Tengo diferentes archivos dentro de una carpeta y hay muchas carpetas, si pudiera etiquetar cada carpeta (al contrario de etiquetar cada archivo) entonces sería muy fácil para mí clasificar estas carpetas. ¿Alguien sabe si se puede hacer algo así? Gracias.


fuente
¿Qué tipo de etiquetas estás buscando aquí? ¿Metaetiquetas adicionales de algún tipo, o funcionará agregar a los nombres de carpetas reales? ¿Está utilizando el terminal para ver archivos, o nautilus, o algo más?
belacqua
Haga clic derecho en un directorio o archivo -> propiedad -> haga clic en la pestaña Emblemas, seleccione los emblemas que desee y también puede agregar una nota escribiendo su pestaña no en la nota. si preguntas de esta manera
Achu
@Achu Gracias, pero no estoy buscando emblemas, los he usado pero son solo para uso personal, no para clasificar datos.
@jbelacqua Estoy usando nautilus para ver mis archivos, estas carpetas no se agregarán a ningún otro archivo pero contiene archivos diferentes, y lo que quiero es poder reorganizar mis carpetas de tal manera que si ejecuto una búsqueda de etiquetas , se mostrará la carpeta o carpetas especificadas, reduciendo así mis resultados. Las etiquetas serían algo así como año, calidad, idioma, etc.
> ¿Has visto esta pregunta? Etiquete y administre archivos de video askubuntu.com/questions/29513/tag-and-manage-video-files ... Se enfoca en archivos individuales, pero parece que Banshee hace mucho trabajo por usted, y tal vez hace algo con directorios:
Peter.O

Respuestas:

3

Puede agregar un archivo como

.tag

en cada carpeta Allí podría almacenar información como texto. Más tarde podría buscarlos para su información.

Quizás sea más adecuado con una herramienta como encontrar .

No dude en preguntar sobre su uso.

usuario desconocido
fuente
(+1) Me gusta tanto tu idea que la he usado en lugar de mi sugerencia de Nautilus Notes. El script de trabajo se muestra en mi respuesta ... A cualquiera que lea esto y le guste el script, recuerde que el .tag idea es 'desconocido del usuario de ...
Peter.O
3

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 Notespara hacer algo similar. Requeriría algunas secuencias de comandos básicas (+?).

Con file Notesusted 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 locatecomo 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
#
Peter.O
fuente
Lo encuentro bastante interesante y lo voy a ver. Sin embargo, sería bueno, tal vez no en nautilus, sino en cualquier otro programa que pueda ayudarlo a tener alguna interfaz gráfica, de hecho, estaba pensando más en la idea detrás de un blog donde selecciona una etiqueta y todo lo relacionado con él surge. Solo para que lo imagines, tengo más de 800 películas, todas con portadas y subtítulos, que hacen al menos 3 archivos en cada carpeta. Si pudiera ejecutar algún tipo de búsqueda de etiquetas, por ejemplo, "acción" y ver todas las portadas relacionadas con la acción, entonces sería más fácil seleccionar una película: D
@Fernando ... Lo siento, no puedo ayudarte con esos requisitos particulares. (Parece más de lo que un simple script puede manejar) ... tal vez el scipt que acabo de agregar puede llenar el vacío de alguna manera hasta que encuentre lo que está buscando. Tal como está, se puede ejecutar a través de la línea de comandos (o <Alt> F2) .. ej. dirtags adventure
Peter.O
1

tracker-utils Trabajará para esto.

¿Cómo buscar archivos por etiquetas?

La respuesta aún no ha sido aceptada, pero los ejemplos que publiqué deberían darle una idea de cómo trabajar con este programa. Las adiciones de etiquetas también funcionan bien en los directorios, y también lo he probado.

Ejemplo de directorio

<sean@mymachine:~> tracker-tag -a projects src/ code/ projects/
<sean@mymachine:~> tracker-tag -s projects
Results: 3
  /home/sean/projects
  /home/sean/src
  /home/sean/code

Tenga en cuenta que deberá iniciar trackerd manualmente para que las utilidades tracker-tag / * funcionen:

<sean@mymachine:~> /usr/lib/tracker/trackerd &

Puede configurar el rastreador con:

<sean@mymachine:~> tracker-preferences

Todavía no tengo el applet de seguimiento ejecutándose (enumerado en ps, pero que no aparece en nautilus incluso después nautilus -q), pero realmente no me importa. No uso herramientas GUI en su mayor parte; Prefiero CLI ya que generalmente es mucho más rápido que hacer clic en las cosas.

Leí una de sus respuestas de una publicación anterior, y parece que está tratando de agregar / buscar etiquetas en Nautilus, aunque no lo mencionó como criterio principal en su pregunta. Eso es lo que estaba haciendo la otra persona, por lo que quizás esta respuesta sea inútil para usted. Dicho esto, saltar a CLI ocasionalmente no es tan malo si haces cosas que normalmente no podrías hacer en una GUI.

Sean Lewis
fuente