Đó là một câu hỏi hay và tôi cũng đang tìm kiếm một thứ tương tự, nhưng tôi khá chắc chắn rằng không có gì giống như vậy được tích hợp trong Nautilus,
nhưng nếu bạn có thể chuyển tay sang một số kịch bản, bạn có thể dễ dàng điều chỉnh Nautilus file Notes
để làm điều gì đó tương tự. Nó sẽ yêu cầu một số kịch bản cơ bản (+?) ..
Với file Notes
bạn có thể thêm Ghi chú vào Danh mục cũng như các tệp ..
Sẽ là một vấn đề đơn giản khi tìm kiếm Ghi chú cho (các) Thẻ cụ thể của bạn , sau đó tạo liên kết tạm thời (hoặc vĩnh viễn) cho mỗi thư mục có Thẻ phù hợp trong 'Ghi chú` ... sau đó đặt các liên kết này vào' tìm kiếm thư mục kết quả ... mà sau đó bạn sẽ trình bày trong cửa sổ Nautilus! ...
Nếu tôi có thời gian rảnh, tôi sẽ tự làm, nhưng thay vào đó, đây là kịch bản tôi đã viết để truy cập và viết và xóa Ghi chú Nautilus .. Nó không làm những gì tôi mô tả ở trên, nhưng nó cho thấy cách truy cập bộ đệm dữ liệu ghi chú . Kịch bản được dự định để sử dụng bởinautilus-actions
Kịch bản có tại pastbin.ubfox.com
CẬP NHẬT : Bây giờ tôi đã viết một tập lệnh hoạt động sử dụng các liên kết như được mô tả ở trên .. Tuy nhiên, bây giờ tôi đã hoán đổi ý tưởng "Ghi chú nautilus" và ghép vào các tệp .tag của người dùng không xác định thay vào đó .. (vì vậy, nếu bạn thích tập lệnh , hãy nhớ rằng ý tưởng .tag là 'người dùng không xác định) ..
Tôi thích các tệp văn bản đơn giản (chúng đơn giản và linh hoạt và rất dễ làm việc)
Tôi đã sử dụng locate
làm công cụ tìm kiếm, vì nó cực nhanh, nhưng nó rất nhanh chỉ cập nhật như lần chạy cuối cùng updatedb
(thường là hàng ngày, nhưng bạn có thể chạy nó bất cứ lúc nào).
Tôi đã cố gắng giải thích cách sử dụng tập lệnh trong các bình luận, nhưng tôi nên chỉ ra rằng nó chưa được kiểm tra đầy đủ, vì vậy nó có thể hoạt động sai ở một số điểm nhỏ ..
Điều duy nhất nó xóa / xóa là thư mục tạm thời và bất kỳ liên kết mềm nào nó chứa ... Lưu ý rằng việc xóa các liên kết mềm không xóa các thư mục đích / dữ liệu.
Đây là kịch bản
UPDATE2 : (đã sửa một lỗi .. Nó chỉ xử lý 100 tệp .tag đầu tiên được định vị)
#!/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
#