Пометка папок?

8

Есть ли программа, которая может помечать папки? У меня есть разные файлы в папке, и есть много папок, если бы я мог пометить каждую папку (в отличие от пометки каждого файла), то мне было бы очень легко классифицировать эти папки. Кто-нибудь знает, можно ли такое сделать? Спасибо.


источник
Какие теги вы ищете здесь? Какие-нибудь дополнительные метатеги, или добавление к реальным именам папок будет работать? Используете ли вы терминал для просмотра файлов, или nautilus, или что-то еще?
Белаква
Щелкните правой кнопкой мыши по одному каталогу или файлу -> свойство -> щелкните по вкладке Эмблемы, выберите эмблемы, которые вы хотите, и вы можете добавить заметку, написав вашу вкладку не на заметке. если вы спрашиваете так.
Ачу
@Achu Спасибо, но я не ищу эмблемы, я их использовал, но они предназначены только для личного использования, а не для классификации данных.
@jbelacqua Я использую nautilus для просмотра своих файлов, в эти папки не будет добавлен какой-либо другой файл, но он содержит другие файлы, и я хочу, чтобы у меня была возможность упорядочить свои папки таким образом, чтобы при запуске поиска по тегам , указанная папка или папки будут отображаться, сужая мои результаты. Теги будут что-то вроде года, качества, языка и т. Д.
> Вы видели этот вопрос? Помечайте видеофайлы и управляйте ими. Askubuntu.com/questions/29513/tag-and-manage-video-files . Он фокусируется на отдельных файлах, но кажется, что Banshee выполняет большую часть работы, которую вы выполняете, и, возможно, она делает что-то с каталогами:
Peter.O

Ответы:

4

Это отличный вопрос, и я тоже искал что-то подобное, но я почти уверен, что в Наутилусе уже нет ничего подобного,

но если вы можете обратиться к некоторым сценариям, вы можете относительно легко адаптировать Nautilus file Notesдля выполнения чего-то подобного. Это потребует некоторого базового (+?) Скриптинга ..

С помощью file Notesвы можете добавлять заметки в каталог, а также файлы ..

Был бы простой вопрос поиска в Notes для конкретной категории (ы) , а затем создать tempory ссылки (или постоянно) для каждого каталога с согласующими тегами в «Notes` ... затем положить эти ссылки в» поиск каталог результатов ... который вы бы затем представили в окне Nautilus! ...

Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа, записи и удаления заметок Nautilus. Он не выполняет то, что я описал выше, но показывает, как получить доступ кэш данных Notes . Скрипт предназначен для использованияnautilus-actions

Сценарий находится на pastbin.ubuntu.com


ОБНОВЛЕНИЕ : я сейчас написал рабочий сценарий, который использует ссылки, как описано выше .. Однако я теперь поменял идею « nautilus Notes» и вместо этого привил в неизвестные файлы .tag пользователя. (Так что, если вам нравится сценарий Помните, что идея .tag - это «пользователь неизвестен» .
Мне нравятся простые текстовые файлы (они просты, универсальны и с ними очень легко работать).
Я использовал их locateкак инструмент поиска, так как он очень быстрый, но только в актуальном состоянии, как последний запуск updatedb(который обычно ежедневно, но вы можете запустить его в любое время).

Я попытался объяснить использование скрипта в комментариях, но должен отметить, что он не полностью протестирован, поэтому он может неправильно работать с некоторыми незначительными моментами.
Единственное, что он удаляет / удаляет, это временный каталог и любые софт-ссылки. он содержит ... Обратите внимание, что удаление программных ссылок не приводит к удалению каталогов назначения / данных.

Вот сценарий

UPDATE2 : (исправлена ​​ошибка. Он обрабатывал только первые 100 найденных файлов .tag)

#!/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
источник
Я нахожу это довольно интересным, и я собираюсь посмотреть на это. Однако было бы неплохо, возможно, не в nautilus, а в любой другой программе, которая могла бы помочь вам иметь некоторый графический интерфейс, на самом деле я думал больше как идея для блога, где вы выбираете тег и все, что с ним связано. Только для того, чтобы вы это изобразили, у меня есть более 800 фильмов, все они с обложками и субтитрами, которые создают не менее 3 файлов в каждой папке. Если бы я мог просто запустить поиск по тегу, например, «действие», и посмотреть все обложки, связанные с действием, тогда было бы легче выбрать фильм: D
@ Фернандо .. Извините, я не могу помочь вам с этими конкретными требованиями. (Похоже, больше, чем простой сценарий может обработать) ... возможно, только что добавленный сценарий может каким-то образом заполнить пробел, пока вы не найдете то, что ищете. В существующем состоянии его можно запустить через командную строку (или <Alt> F2) .. например. приключение диртагов
Peter.O
3

Вы можете добавить файл как

.tag

в каждую папку. Там вы можете хранить информацию в виде текста. Позже вы можете просмотреть их для вашей информации.

Может быть, вам лучше подходит такой инструмент, как find .

Не стесняйтесь спрашивать о его использовании.

Пользователь неизвестен
источник
(+1) Мне так нравится ваша идея, что я использовал ее вместо моего предложения Nautilus Notes. В моем ответе показан рабочий сценарий .... Всем, кто читает этот сценарий и кому нравится сценарий, помните, что .tag идея заключается в том, что «пользователь неизвестен ...»
Peter.O
2

tracker-utils будет работать на это.

Как искать файлы по тегам?

Ответ еще не принят, но примеры, которые я выложил, должны дать вам представление о том, как работать с этой программой. Добавления тегов прекрасно работают и с каталогами, и я тоже это проверил.

Пример каталога

<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

Обратите внимание, что вам нужно будет запустить trackerd вручную, чтобы утилиты tracker-tag / * работали:

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

Вы можете настроить трекер с помощью:

<sean@mymachine:~> tracker-preferences

У меня до сих пор не запущен апплет трекера (указан в списке ps, но не отображается в nautilus даже после nautilus -q), но мне все равно. Я не использую инструменты GUI по большей части; Я предпочитаю CLI, так как обычно это намного быстрее, чем нажимать на вещи.

Я прочитал один из ваших ответов из предыдущего поста, и похоже, что вы пытаетесь добавить / найти теги в Nautilus, хотя вы не указали это в качестве основного критерия в своем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переход к CLI иногда не так уж плох, если вы выполняете работу, которую вы обычно не сможете сделать в графическом интерфейсе.

Шон Льюис
источник