Есть ли программа, которая может помечать папки? У меня есть разные файлы в папке, и есть много папок, если я могу пометить каждую папку (в отличие от тегов каждого файла), тогда мне было бы очень легко классифицировать эти папки. Кто-нибудь знает, можно ли это сделать? Спасибо.
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
Обратите внимание, что вам нужно запустить трекер вручную, чтобы тэг-трекер / * utils работал:
<sean@mymachine:~> /usr/lib/tracker/trackerd &
Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще нет программы-трекера (указан в ps, но не отображается в наутилусе даже после nautilus -q), но я на самом деле все равно. Я больше не использую инструменты графического интерфейса; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / найти теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes вы можете добавлять примечания к каталогу, а также файлы ..
Было бы просто поиск Notes для вашего конкретного тега (ов), а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в каталог «результаты поиска» ... который вы бы представились в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа и записи и удаления Nautilus Notes .. Он не выполняет то, что я описал выше, но он показывает, как получить доступ к кэшу данных Notes. Сценарий предназначен для использования nautilus-actions
. Скрипт находится на странице pastbin.ubuntu.com
, как получить доступ к кешу данных Notes : Теперь я написал рабочий скрипт, который использует ссылки, как описано выше. Однако теперь я заменил идею «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
#
Вы можете добавить файл, такой как
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, например find.
Не стесняйтесь спрашивать о его использовании.
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
Обратите внимание, что вам нужно запустить трекер вручную, чтобы тэг-трекер / * utils работал:
<sean@mymachine:~> /usr/lib/tracker/trackerd &
Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще нет программы-трекера (указан в ps, но не отображается в наутилусе даже после nautilus -q), но я на самом деле все равно. Я больше не использую инструменты графического интерфейса; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / найти теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes вы можете добавлять примечания к каталогу, а также файлы ..
Было бы просто поиск Notes для вашего конкретного тега (ов), а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в каталог «результаты поиска» ... который вы бы представились в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа и записи и удаления Nautilus Notes .. Он не выполняет то, что я описал выше, но он показывает, как получить доступ к кэшу данных Notes. Сценарий предназначен для использования nautilus-actions
. Скрипт находится на странице pastbin.ubuntu.com
, как получить доступ к кешу данных Notes : Теперь я написал рабочий скрипт, который использует ссылки, как описано выше. Однако теперь я заменил идею «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
#
Вы можете добавить файл, такой как
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, например find.
Не стесняйтесь спрашивать о его использовании.
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
Обратите внимание, что вам нужно запустить трекер вручную, чтобы тэг-трекер / * utils работал:
<sean@mymachine:~> /usr/lib/tracker/trackerd &
Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще нет программы-трекера (указан в ps, но не отображается в наутилусе даже после nautilus -q), но я на самом деле все равно. Я больше не использую инструменты графического интерфейса; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / найти теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes вы можете добавлять примечания к каталогу, а также файлы ..
Было бы просто поиск Notes для вашего конкретного тега (ов), а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в каталог «результаты поиска» ... который вы бы представились в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа и записи и удаления Nautilus Notes .. Он не выполняет то, что я описал выше, но он показывает, как получить доступ к кэшу данных Notes. Сценарий предназначен для использования nautilus-actions
. Скрипт находится на странице pastbin.ubuntu.com
, как получить доступ к кешу данных Notes : Теперь я написал рабочий скрипт, который использует ссылки, как описано выше. Однако теперь я заменил идею «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
#
Вы можете добавить файл, такой как
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, например find.
Не стесняйтесь спрашивать о его использовании.
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
Обратите внимание, что вам нужно запустить трекер вручную, чтобы тэг-трекер / * utils работал:
<sean@mymachine:~> /usr/lib/tracker/trackerd &
Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще нет программы-трекера (указан в ps, но не отображается в наутилусе даже после nautilus -q), но я на самом деле все равно. Я больше не использую инструменты графического интерфейса; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / найти теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes вы можете добавлять примечания к каталогу, а также файлы ..
Было бы просто поиск Notes для вашего конкретного тега (ов), а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в каталог «результаты поиска» ... который вы бы представились в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа и записи и удаления Nautilus Notes .. Он не выполняет то, что я описал выше, но он показывает, как получить доступ к кэшу данных Notes. Сценарий предназначен для использования nautilus-actions
. Скрипт находится на странице pastbin.ubuntu.com
, как получить доступ к кешу данных Notes : Теперь я написал рабочий скрипт, который использует ссылки, как описано выше. Однако теперь я заменил идею «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
#
Вы можете добавить файл, такой как
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, например find.
Не стесняйтесь спрашивать о его использовании.
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
Обратите внимание, что вам нужно запустить трекер вручную, чтобы тэг-трекер / * utils работал:
<sean@mymachine:~> /usr/lib/tracker/trackerd &
Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще нет программы-трекера (указан в ps, но не отображается в наутилусе даже после nautilus -q), но я на самом деле все равно. В большинстве случаев я не использую инструменты GUI; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / найти теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes вы можете добавлять примечания к каталогу, а также файлы ..
Было бы просто поиск Notes для вашего конкретного тега (ов), а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в каталог «результаты поиска» ... который вы бы представились в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал для доступа и записи и удаления Nautilus Notes .. Он не выполняет то, что я описал выше, но он показывает, как получить доступ к кэшу данных Notes. Сценарий предназначен для использования nautilus-actions
. Скрипт находится на странице pastbin.ubuntu.com
, как получить доступ к кешу данных Notes : Теперь я написал рабочий скрипт, который использует ссылки, как описано выше. Однако теперь я заменил идею «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
#
Вы можете добавить файл, такой как
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, например find.
Не стесняйтесь спрашивать о его использовании.
Вы можете добавить в каждую папку файл, такой как
.tag
. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, такой как find .
Не стесняйтесь спрашивать о его использовании.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes
, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes
вы можете добавлять Notes в каталог, а также файлы ..
Было бы просто поиск примечаний для определенных тэгов , а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в «поиск» результаты ", которые вы затем представили в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал доступа и записи и удаления Nautilus Notes. Он не выполняет то, что я описал выше, но показывает, как получить доступ к кешу данных Notes. Сценарий предназначен для использования nautilus-actions
Скрипт находится в pastbin.ubuntu.com
UPDATE: я сейчас написал рабочий сценарий, который использует ссылки, как описано выше. Однако теперь я поменял идею «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
#
tracker-utils
будет работать для этого.
Ответ еще не принят, но приведенные выше примеры должны дать вам представление о том, как для работы с этой программой. Добавления тегов прекрасно работают и в каталогах, и я тоже тестировал их.
Пример каталога
& lt; sean @ mymachine: ~ & gt; tracker-tag -a projects src / code / projects / & lt; sean @ mymachine: ~ & gt; tracker-tag -s projects Результаты: 3 / home / sean / projects / home / sean / src / home / sean / code
Обратите внимание, что вам нужно запустить трекер вручную, чтобы для функции tracker-tag / * utils:
& lt; sean @ mymachine: ~ & gt; / usr / lib / tracker / trackerd & amp;
Вы можете настроить трекер с помощью:
& lt; sean @ mymachine: ~ & gt; tracker-preferences
У меня до сих пор нет приложения-трекера (указано в ps
, но не отображается в наутилусе даже после nautilus -q
), но мне все равно. В большинстве случаев я не использую инструменты GUI; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / искать теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Вы можете добавить в каждую папку файл, такой как
.tag
. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, такой как find .
Не стесняйтесь спрашивать о его использовании.
tracker-utils
будет работать для этого.
Ответ еще не принят, но приведенные выше примеры должны дать вам представление о том, как для работы с этой программой. Добавления тегов прекрасно работают и в каталогах, и я тоже тестировал их.
Пример каталога
& lt; sean @ mymachine: ~ & gt; tracker-tag -a projects src / code / projects / & lt; sean @ mymachine: ~ & gt; tracker-tag -s projects Результаты: 3 / home / sean / projects / home / sean / src / home / sean / code
Обратите внимание, что вам нужно запустить трекер вручную, чтобы для функции tracker-tag / * utils:
& lt; sean @ mymachine: ~ & gt; / usr / lib / tracker / trackerd & amp;
Вы можете настроить трекер с помощью:
& lt; sean @ mymachine: ~ & gt; tracker-preferences
У меня до сих пор нет приложения-трекера (указано в ps
, но не отображается в наутилусе даже после nautilus -q
), но мне все равно. Я больше не использую инструменты графического интерфейса; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / искать теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes
, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes
вы можете добавлять Notes в каталог, а также файлы ..
Было бы просто поиск примечаний для определенных тэгов , а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в «поиск» результаты ", которые вы затем представили в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал доступа и записи и удаления Nautilus Notes. Он не выполняет то, что я описал выше, но показывает, как получить доступ к кешу данных Notes. Сценарий предназначен для использования nautilus-actions
Скрипт находится в pastbin.ubuntu.com
UPDATE: я сейчас написал рабочий сценарий, который использует ссылки, как описано выше. Однако теперь я поменял идею «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
#
Вы можете добавить в каждую папку файл, такой как
.tag
. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, такой как find .
Не стесняйтесь спрашивать о его использовании.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes
, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes
вы можете добавлять Notes в каталог, а также файлы ..
Было бы просто поиск примечаний для определенных тэгов , а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в «поиск» результаты ", которые вы затем представили в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал доступа и записи и удаления Nautilus Notes. Он не выполняет то, что я описал выше, но показывает, как получить доступ к кешу данных Notes. Сценарий предназначен для использования nautilus-actions
Скрипт находится в pastbin.ubuntu.com
UPDATE: я сейчас написал рабочий сценарий, который использует ссылки, как описано выше. Однако теперь я поменял идею «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
#
tracker-utils
будет работать для этого.
Ответ еще не принят, но приведенные выше примеры должны дать вам представление о том, как для работы с этой программой. Добавления тегов прекрасно работают и в каталогах, и я тоже тестировал их.
Пример каталога
& lt; sean @ mymachine: ~ & gt; tracker-tag -a projects src / code / projects / & lt; sean @ mymachine: ~ & gt; tracker-tag -s projects Результаты: 3 / home / sean / projects / home / sean / src / home / sean / code
Обратите внимание, что вам нужно запустить трекер вручную, чтобы для функции tracker-tag / * utils:
& lt; sean @ mymachine: ~ & gt; / usr / lib / tracker / trackerd & amp;
Вы можете настроить трекер с помощью:
& lt; sean @ mymachine: ~ & gt; tracker-preferences
У меня до сих пор нет приложения-трекера (указано в ps
, но не отображается в наутилусе даже после nautilus -q
), но мне все равно. В большинстве случаев я не использую инструменты GUI; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / искать теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.
Вы можете добавить в каждую папку файл, такой как
.tag
. Там вы можете хранить информацию в виде текста. Вы можете позже просмотреть их для своей информации.
Возможно, вам лучше подходит инструмент, такой как find .
Не стесняйтесь спрашивать о его использовании.
Это отличный вопрос, и я тоже искал что-то подобное, но я уверен, что нет ничего подобного уже встроенному в Nautilus,
, но если вы можете повернуть руку на некоторые сценарии, вы могли бы относительно легко адаптировать Nautilus file Notes
, чтобы сделать что-то подобное. Для этого потребуется некоторый базовый сценарий (+?) ..
С помощью file Notes
вы можете добавлять Notes в каталог, а также файлы ..
Было бы просто поиск примечаний для определенных тэгов , а затем создание темпоральных ссылок (или постоянных) в каждый каталог с соответствующим тегом в «Заметках» ... затем поместите эти ссылки в «поиск» результаты ", которые вы затем представили в окне Nautilus! ...
Если бы у меня было свободное время, я бы сделал это сам, но вместо этого вот сценарий, который я написал доступа и записи и удаления Nautilus Notes. Он не выполняет то, что я описал выше, но показывает, как получить доступ к кешу данных Notes. Сценарий предназначен для использования nautilus-actions
Скрипт находится в pastbin.ubuntu.com
UPDATE: я сейчас написал рабочий сценарий, который использует ссылки, как описано выше. Однако теперь я поменял идею «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
#
tracker-utils
будет работать для этого.
Ответ еще не принят, но приведенные выше примеры должны дать вам представление о том, как для работы с этой программой. Добавления тегов прекрасно работают и в каталогах, и я тоже тестировал их.
Пример каталога
& lt; sean @ mymachine: ~ & gt; tracker-tag -a projects src / code / projects / & lt; sean @ mymachine: ~ & gt; tracker-tag -s projects Результаты: 3 / home / sean / projects / home / sean / src / home / sean / code
Обратите внимание, что вам нужно запустить трекер вручную, чтобы для функции tracker-tag / * utils:
& lt; sean @ mymachine: ~ & gt; / usr / lib / tracker / trackerd & amp;
Вы можете настроить трекер с помощью:
& lt; sean @ mymachine: ~ & gt; tracker-preferences
У меня до сих пор нет приложения-трекера (указано в ps
, но не отображается в наутилусе даже после nautilus -q
), но мне все равно. В большинстве случаев я не использую инструменты GUI; Я предпочитаю CLI, потому что это обычно намного быстрее, чем щелчок на вещах.
Я прочитал один из ваших ответов из более ранней публикации, и похоже, вы пытаетесь добавить / искать теги в Nautilus, хотя вы не перечислял это как основной критерий в вашем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переключение на CLI иногда не так уж плохо, если вы делаете то, что вы обычно не сможете сделать в графическом интерфейсе.