Tagging delle cartelle?


8

Esiste un programma in grado di taggare le cartelle? Ho diversi file all'interno di una cartella e ce ne sono in molte cartelle, se potessi etichettare ogni cartella (contrariamente a taggare ogni file), sarebbe molto facile per me classificare queste cartelle. Qualcuno sa se una cosa del genere può essere fatta? Grazie.


Che tipo di tag stai cercando qui? Meta tag extra di qualche tipo o funzioneranno con l'aggiunta dei nomi delle cartelle? Stai usando il terminale per visualizzare i file, o nautilus o qualcos'altro?
belacqua,

Fare clic con il tasto destro su una directory o file -> proprietà -> fare clic sulla scheda Emblemi selezionare gli emblemi desiderati, inoltre è possibile aggiungere una nota scrivendo la scheda non sulla nota. se lo stai chiedendo in questo modo.
Achu,

@Achu Grazie ma non cerco emblemi, li ho usati ma sono solo per uso personale, non per classificare i dati.

@jbelacqua Sto usando nautilus per visualizzare i miei file, a queste cartelle non verranno aggiunti altri file ma contiene file diversi e ciò che voglio è poter riorganizzare le mie cartelle in modo tale che se eseguo una ricerca di tag , verranno visualizzate la cartella o le cartelle specificate, restringendo così i miei risultati. I tag sarebbero qualcosa come l'anno, la qualità, la lingua, ecc.

> Hai visto questa domanda? Tagga e gestisci i file video askubuntu.com/questions/29513/tag-and-manage-video-files ... Si concentra su singoli file, ma sembra che Banshee faccia molto del tuo lavoro e forse lo fa tutto con le directory:
Peter

Risposte:


3

È possibile aggiungere un file come

.tag

in ogni cartella. Lì puoi archiviare informazioni come testo. In seguito è possibile sfogliarli per ottenere informazioni.

Forse sei più adatto con uno strumento come find .

Sentiti libero di chiedere del suo utilizzo.


(+1) Mi piace così tanto la tua idea che l'ho usata al posto del mio suggerimento di Note di Nautilus .. Lo script funzionante è mostrato nella mia risposta .... A chiunque legga questo a cui piace lo script, ricorda che .tag l'idea è 'user unknown's ...
Peter.O

3

È un'ottima domanda, e stavo cercando anche qualcosa del genere, ma sono abbastanza sicuro che non ci sia nulla di simile già incorporato in Nautilus,

ma se riesci a rivolgere la mano ad alcuni script, potresti adattare relativamente facilmente Nautilus file Notesa fare qualcosa di simile. Richiederebbe alcuni script di base (+?).

Con file Notesè possibile aggiungere note a una directory e file.

Sarebbe una semplice questione cercare le note per i tuoi Tag specifici , e quindi creare collegamenti temporanei (o permanenti) a ciascuna directory con un Tag corrispondente in "Note" ... quindi inserire questi collegamenti in una "ricerca directory dei risultati ... che presenteresti in una finestra di Nautilus! ...

Se avessi il tempo libero, lo farei da solo, ma invece, ecco uno script che ho scritto per accedere e scrivere ed eliminare le note di Nautilus .. Non fa quello che ho descritto sopra, ma mostra come accedere la cache di dati di Notes . Lo script è destinato all'uso da parte dinautilus-actions

Lo script è su pastbin.ubuntu.com


AGGIORNAMENTO : Ora ho scritto uno script funzionante che utilizza i collegamenti come descritto sopra. Tuttavia, ora ho scambiato l'idea "Note nautilus" e innestato invece nei file .tag dell'utente sconosciuto .. (quindi, se ti piace lo script , ricorda che l'idea .tag è 'utente sconosciuto') .
Mi piacciono i file di testo semplice (sono semplici e versatili e molto facili da lavorare)
che ho usato locatecome strumento di ricerca, in quanto è ultra veloce, ma è aggiornato solo come l'ultima esecuzione di updatedb(che è in genere giornaliera, ma è possibile eseguirla in qualsiasi momento).

Ho cercato di spiegare l'uso dello script nei commenti, ma dovrei sottolineare che non è stato completamente testato, quindi potrebbe comportarsi in modo errato su alcuni punti minori.
Le uniche cose che elimina / rimuove sono la directory temporanea e tutti i soft-link contiene ... Notare che la rimozione dei soft link non rimuove le directory target / data.

Ecco la sceneggiatura

UPDATE2 : (corretto un bug. Stava elaborando solo il primo file .tag individuato 100)

#!/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
#

Lo trovo piuttosto interessante e lo guarderò. Comunque sarebbe bello, forse non in nautilus ma in qualsiasi altro programma che potrebbe aiutarti ad avere qualche interfaccia grafica, infatti stavo pensando più come l'idea dietro un blog in cui selezioni un tag e tutto ciò che è correlato viene fuori. Solo per farti immaginare, ho oltre 800 film, tutti con copertine e sottotitoli, che creano almeno 3 file in ogni cartella. Se potessi semplicemente eseguire una sorta di ricerca di tag, ad esempio "azione" e vedere tutte le copertine relative all'azione, sarebbe più facile selezionare un film: D

@Fernando .. Mi dispiace, non posso aiutarti con quei requisiti particolari. (Sembra che più di una semplice sceneggiatura possa essere gestita) ... forse la scritta che ho appena aggiunto può riempire il vuoto in qualche modo fino a trovare quello che stai cercando. Allo stato attuale, può essere eseguito tramite la riga di comando (o <Alt> F2) .. ad es. avventura dirtags
Peter.O

1

tracker-utils funzionerà per questo.

Come cercare file per tag?

La risposta non è stata ancora accettata, ma gli esempi che ho pubblicato dovrebbero darti un'idea di come lavorare con questo programma. Le aggiunte di tag funzionano bene anche nelle directory e l'ho testato anch'io.

Esempio di directory

<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

Tieni presente che dovrai avviare trackerd manualmente affinché il tracker-tag / * utils funzioni:

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

Puoi configurare il tracker con:

<sean@mymachine:~> tracker-preferences

Non ho ancora l'applet tracker in esecuzione (elencato in ps, ma non compare in nautilus anche dopo nautilus -q), ma non mi interessa davvero. Non uso gli strumenti della GUI per la maggior parte; Preferisco la CLI poiché di solito è molto più veloce del clic sulle cose.

Ho letto una delle tue risposte da un post precedente e sembra che tu stia cercando di aggiungere / cercare tag in Nautilus, anche se non l'hai elencato come criterio principale nella tua domanda. Questo è ciò che l'altra persona stava facendo, quindi forse questa risposta sarà inutile per te. Detto questo, saltare alla CLI di tanto in tanto non è così male se fai cose che normalmente non potresti fare in una GUI.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.