Ini pertanyaan yang bagus, dan saya juga mencari sesuatu seperti itu, tapi saya cukup yakin tidak ada yang seperti itu yang sudah ada di dalam Nautilus,
tetapi jika Anda dapat mengalihkan tangan ke beberapa skrip, Anda dapat dengan relatif mudah mengadaptasi Nautilus file Notes
untuk melakukan sesuatu yang serupa. Dibutuhkan beberapa skrip dasar (+?) ..
Dengan file Notes
Anda dapat menambahkan Catatan ke Direktori serta file ..
Ini akan menjadi masalah sederhana dalam mencari Catatan untuk Tag spesifik Anda , dan kemudian membuat tautan temporer (atau permanen) ke setiap direktori dengan Tag yang cocok di 'Catatan` ... kemudian masukkan tautan ini ke dalam pencarian' direktori hasil '... yang kemudian akan Anda tampilkan di jendela Nautilus! ...
Jika saya punya waktu luang, saya akan melakukannya sendiri, tetapi sebagai gantinya, ini adalah skrip yang saya tulis untuk mengakses dan menulis dan menghapus Catatan Nautilus .. Ini tidak melakukan apa yang saya jelaskan di atas, tetapi tidak menunjukkan cara mengakses cache data Notes . Script ini dimaksudkan untuk digunakan olehnautilus-actions
Scriptnya ada di pastbin.ubuntu.com
UPDATE : Saya sekarang telah menulis skrip yang berfungsi menggunakan tautan seperti yang dijelaskan di atas .. Namun, saya sekarang telah bertukar ide "Catatan nautilus" dan grafted dalam file .tag pengguna yang tidak diketahui sebagai gantinya .. (jadi, jika Anda suka skrip , ingat bahwa ide .tag adalah 'pengguna tidak diketahui) ..
Saya suka file teks biasa (mereka sederhana dan serbaguna dan sangat mudah digunakan)
Saya telah menggunakan locate
alat pencarian, karena sangat cepat, tetapi hanya sebagai terbaru sebagai menjalankan terakhir updatedb
(yang biasanya setiap hari, tetapi Anda dapat menjalankannya kapan saja).
Saya telah mencoba menjelaskan penggunaan skrip dalam komentar, tetapi saya harus menunjukkan bahwa skrip tersebut belum sepenuhnya diuji, sehingga mungkin terjadi kesalahan pada beberapa poin minor ..
Satu-satunya hal yang dihapus / dihapus adalah direktori temp dan setiap tautan lunak. itu berisi ... Perhatikan bahwa menghapus tautan lunak tidak menghapus direktori target / data.
Ini skripnya
UPDATE2 : (memperbaiki bug .. Itu hanya memproses 100 file .tag pertama yang ditemukan)
#!/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
#