Ordner-Tagging?

8

Gibt es ein Programm, das Ordner markieren kann? Ich habe verschiedene Dateien in einem Ordner und es gibt zu viele Ordner. Wenn ich jeden Ordner markieren könnte (im Gegensatz zum Markieren jeder Datei), wäre es für mich sehr einfach, diese Ordner zu kategorisieren. Weiß jemand, ob so etwas getan werden kann? Vielen Dank.


quelle
Welche Art von Tags suchen Sie hier? Zusätzliche Meta-Tags oder funktioniert das Hinzufügen zu den tatsächlichen Ordnernamen? Verwenden Sie das Terminal, um Dateien, Nautilus oder etwas anderes anzuzeigen?
Belacqua
Klicken Sie mit der rechten Maustaste auf ein Verzeichnis oder eine Datei -> Eigenschaft -> klicken Sie auf die Registerkarte Embleme. Wählen Sie die gewünschten Embleme aus. Sie können auch eine Notiz hinzufügen, die Ihre Registerkarte "Nicht auf Notiz" schreibt. wenn du so fragst.
Achu
@ Achu Danke, aber ich suche keine Embleme, ich habe sie verwendet, aber sie sind nur für den persönlichen Gebrauch, nicht um Daten zu kategorisieren.
@jbelacqua Ich verwende nautilus, um meine Dateien anzuzeigen. Diesen Ordnern wird keine andere Datei hinzugefügt, aber sie enthält andere Dateien. Ich möchte meine Ordner so neu anordnen können, dass ich eine Tag-Suche durchführe Der angegebene Ordner oder die angegebenen Ordner werden angezeigt, wodurch meine Ergebnisse eingeschränkt werden. Die Tags wären so etwas wie Jahr, Qualität, Sprache usw.
> Hast du diese Frage gesehen? Kennzeichnen und Verwalten von Videodateien askubuntu.com/questions/29513/tag-and-manage-video-files ... Es konzentriert sich zwar auf einzelne Dateien, aber es scheint, dass Banshee einen Großteil Ihrer Arbeit erledigt und möglicherweise etwas tut mit Verzeichnissen:
Peter.O

Antworten:

3

Sie können eine Datei wie hinzufügen

.tag

in jeden Ordner. Dort können Sie Informationen als Text speichern. Sie können sie später nach Ihren Informationen durchsuchen.

Vielleicht sind Sie mit einem Tool wie find besser geeignet .

Fragen Sie einfach nach der Verwendung.

Benutzer unbekannt
quelle
(+1) Ihre Idee gefällt mir so gut, dass ich sie anstelle meines Nautilus Notes-Vorschlags verwendet habe. Das Arbeitsskript wird in meiner Antwort gezeigt. Wenn Sie dies lesen und das Skript mögen, denken Sie bitte daran, dass das .tag Idee ist 'Benutzer unbekannt ...
Peter.O
3

Es ist eine großartige Frage, und ich habe auch nach so etwas gesucht, aber ich bin mir ziemlich sicher, dass in Nautilus nichts dergleichen bereits eingebaut ist.

Wenn Sie jedoch Ihre Hand auf ein Skript richten können, können Sie Nautilus relativ leicht anpassen file Notes, um etwas Ähnliches zu tun. Es würde einige grundlegende (+?) Skripte erfordern.

Mit file Noteskönnen Sie einem Verzeichnis Notizen sowie Dateien hinzufügen.

Es wäre eine einfache Sache, die Notizen nach Ihren spezifischen Tags zu durchsuchen und dann temporäre (oder permanente) Links zu jedem Verzeichnis mit einem passenden Tag in den "Notizen" zu erstellen ... und diese Links dann in eine "Suche" einzufügen Ergebnisverzeichnis ... das Sie dann in einem Nautilus-Fenster präsentieren würden! ...

Wenn ich die Freizeit hätte, würde ich es selbst tun, aber stattdessen ist hier ein Skript, das ich geschrieben habe, um auf Nautilus Notes zuzugreifen und es zu schreiben und zu löschen. Es macht nicht das, was ich oben beschrieben habe, aber es zeigt, wie man darauf zugreift der Notes-Datencache . Das Skript ist für die Verwendung durch vorgesehennautilus-actions

Das Skript befindet sich unter pastbin.ubuntu.com


UPDATE : Ich habe jetzt ein funktionierendes Skript geschrieben, das wie oben beschrieben Links verwendet. Jetzt habe ich jedoch die Idee "nautilus Notes" ausgetauscht und stattdessen die .tag-Dateien des unbekannten Benutzers eingepfropft . (Wenn Ihnen das Skript gefällt Denken Sie daran, dass die .tag-Idee "Benutzer unbekannt" ist .
Ich mag einfache Textdateien (sie sind einfach und vielseitig und sehr einfach zu bearbeiten).
Ich habe sie locateals Suchwerkzeug verwendet, da sie ultraschnell sind, aber es ist Nur so aktuell wie die letzte Ausführung von updatedb(normalerweise täglich, aber Sie können sie jederzeit ausführen).

Ich habe versucht, die Verwendung des Skripts in den Kommentaren zu erklären, aber ich sollte darauf hinweisen, dass es nicht vollständig getestet wurde, sodass es sich in einigen kleinen Punkten möglicherweise schlecht verhält.
Die einzigen Dinge, die es löscht / entfernt, sind das temporäre Verzeichnis und alle Softlinks Es enthält ... Beachten Sie, dass durch das Entfernen von Softlinks die Ziel- / Datenverzeichnisse nicht entfernt werden.

Hier ist das Skript

UPDATE2 : (Fehler behoben. Es wurden nur die ersten 100 gefundenen .tag-Dateien verarbeitet.)

#!/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
quelle
Ich finde das ziemlich interessant und werde es mir ansehen. Es wäre jedoch schön, vielleicht nicht in Nautilus, sondern in jedem anderen Programm, das Ihnen helfen könnte, eine grafische Oberfläche zu haben. Tatsächlich dachte ich eher an die Idee hinter einem Blog, in dem Sie ein Tag auswählen und alles, was damit zusammenhängt, auftaucht. Nur damit Sie es sich vorstellen können, habe ich über 800 Filme, alle mit Covers und Untertiteln, die mindestens 3 Dateien unter jedem Ordner erstellen. Wenn ich nur eine Art Tag-Suche ausführen könnte, zum Beispiel "Aktion", und alle Cover sehen könnte, die sich auf Aktion beziehen, dann wäre es einfacher, einen Film auszuwählen: D
@ Fernando .. Entschuldigung, ich kann Ihnen bei diesen speziellen Anforderungen nicht helfen. (Es hört sich so an, als ob mehr als ein einfaches Skript damit umgehen kann.) ... Vielleicht kann der gerade hinzugefügte Scipt die Lücke irgendwie füllen, bis Sie das finden, wonach Sie suchen. So wie es aussieht, kann es über die Kommandozeile (oder <Alt> F2) ausgeführt werden. Dirtags Abenteuer
Peter.O
1

tracker-utils wird dafür arbeiten.

Wie suche ich nach Dateien anhand von Tags?

Die Antwort wurde noch nicht akzeptiert, aber die Beispiele, die ich veröffentlicht habe, sollten Ihnen eine Vorstellung davon geben, wie Sie mit diesem Programm arbeiten können. Das Hinzufügen von Tags funktioniert auch in Verzeichnissen einwandfrei, und ich habe es auch getestet.

Beispiel für ein Verzeichnis

<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

Beachten Sie, dass Sie trackerd manuell starten müssen, damit die Dienstprogramme tracker-tag / * funktionieren:

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

Sie können den Tracker konfigurieren mit:

<sean@mymachine:~> tracker-preferences

Ich habe das Tracker-Applet immer noch nicht ausgeführt (aufgeführt in ps, wird aber auch danach nicht in Nautilus angezeigt nautilus -q), aber es ist mir eigentlich egal. Ich benutze zum größten Teil keine GUI-Tools. Ich bevorzuge CLI, da es normalerweise viel schneller ist als das Klicken auf Dinge.

Ich habe eine Ihrer Antworten aus einem früheren Beitrag gelesen und es sieht so aus, als würden Sie versuchen, Tags in Nautilus hinzuzufügen / zu suchen, obwohl Sie dies in Ihrer Frage nicht als Hauptkriterium aufgeführt haben. Das hat die andere Person getan, vielleicht ist diese Antwort für Sie nutzlos. Das heißt, gelegentlich zu CLI zu springen ist nicht so schlimm, wenn Sie Dinge erledigen, die Sie normalerweise in einer GUI nicht tun könnten.

Sean Lewis
quelle