폴더에 태그를 지정할 수있는 프로그램이 있습니까? 폴더 내에 다른 파일이 있고 많은 폴더가 있습니다. 각 폴더에 태그를 지정하는 것과 달리 각 폴더에 태그를 지정할 수 있으면 이러한 폴더를 분류하는 것이 매우 쉽습니다. 그런 일을 할 수 있는지 아는 사람이 있습니까? 감사합니다.
폴더에 태그를 지정할 수있는 프로그램이 있습니까? 폴더 내에 다른 파일이 있고 많은 폴더가 있습니다. 각 폴더에 태그를 지정하는 것과 달리 각 폴더에 태그를 지정할 수 있으면 이러한 폴더를 분류하는 것이 매우 쉽습니다. 그런 일을 할 수 있는지 아는 사람이 있습니까? 감사합니다.
답변:
좋은 질문입니다. 저도 그와 비슷한 것을 찾고 있었지만 이미 노틸러스에 내장 된 것과 같은 것이 없다고 확신합니다.
그러나 손을 스크립팅으로 바꿀 수 있다면, 노틸러스 file Notes
가 비슷한 일을 하도록 비교적 쉽게 조정할 수 있습니다 . 기본적인 (+?) 스크립팅이 필요합니다.
와 함께 file Notes
파일뿐만 아니라 디렉토리에 메모를 추가 할 수 있습니다.
특정 태그에 대한 메모를 검색 한 다음 '노트'에서 일치하는 태그를 사용하여 각 디렉토리에 임시 링크 (또는 영구)를 작성하면됩니다. 결과 디렉토리 ... 그러면 노틸러스 창에 나타납니다! ...
여가 시간이 있다면 직접해볼 것이지만 대신 노틸러스 노트에 액세스하여 쓰고 삭제하기 위해 작성한 스크립트가 있습니다. 위에서 설명한 내용은 수행하지 않지만 액세스하는 방법을 보여 줍니다. Notes 데이터 캐시 . 이 스크립트는nautilus-actions
스크립트는 pastbin.ubuntu.com에 있습니다.
업데이트 : 이제 위에서 설명한 링크를 사용하는 작업 스크립트를 작성했습니다. 그러나 이제 "노틸러스 메모"아이디어를 바꾸고 대신 알 수없는 사용자의 .tag 파일에 접붙 였습니다 . (따라서 스크립트가 마음에 들면 , '이 .tag 아이디어가 있다는 사실을 사용자 미지의) ..
일반 텍스트 파일과 같은 I (그들이 간단 하고 다양한 매우 쉬운 작업)에
내가 사용했던 locate
이 매우 빠르고으로, 검색 도구로하지만,이 마지막으로 실행하는 것만 큼 최신입니다 updatedb
(일반적으로 매일이지만 언제든지 실행할 수 있음).
주석에서 스크립트 사용법을 설명하려고 시도했지만 완전히 테스트되지 않았으므로 약간의 사소한 점에서는 오작동 할 수 있음을 지적
해야합니다. 삭제 / 제거하는 유일한 것은 temp 디렉토리와 모든 소프트 링크입니다 소프트 링크를 제거해도 대상 / 데이터 디렉토리는 제거되지 않습니다.
여기 스크립트가 있습니다
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
이것을 위해 일할 것입니다.
답은 아직 받아 들여지지 않았지만 내가 올린 예제는이 프로그램을 어떻게 사용할 수 있는지에 대한 아이디어를 제공 할 것입니다. 태그 추가는 디렉토리에서도 잘 작동하며 테스트를 거쳤습니다.
디렉토리 예
<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
tracker-tag / * 유틸리티가 작동하려면 trackerd를 수동으로 시작해야합니다.
<sean@mymachine:~> /usr/lib/tracker/trackerd &
다음을 사용하여 추적기를 구성 할 수 있습니다.
<sean@mymachine:~> tracker-preferences
나는 여전히 추적 애플릿을 실행하지 않지만 (에 나열 ps
되었지만 이후에도 노틸러스에 표시되지 않음 nautilus -q
), 실제로 신경 쓰지 않습니다. 나는 대부분 GUI 도구를 사용하지 않습니다. CLI는 일반적으로 클릭하는 것보다 훨씬 빠르기 때문에 CLI를 선호합니다.
이전 게시물에서 귀하의 답변 중 하나를 읽었으며 질문에 기본 기준으로 나열하지 않았지만 노틸러스에서 태그를 추가 / 검색하려고하는 것처럼 보입니다. 그것이 다른 사람이 한 일이므로, 아마도이 대답은 당신에게 쓸모가 없을 것입니다. 즉, 일반적으로 GUI에서 할 수없는 일을하면 CLI로 점프하는 것이 그렇게 나쁘지 않습니다.