Nautilus:将目录中的文件标记为收藏

Nautilus:将目录中的文件标记为收藏

我有一台数码相机,已经有 15 年了。我儿子现在 13 岁了,我们想用他童年的照片做一本书。

这意味着我和我的妻子需要选择我们最喜欢的照片。

我用 nautilus 查看目录。按下“ctrl +”后,图像足够大,因此我们可以轻松地用肉眼扫描目录。

有没有办法在 nautilus 中将文件/图像标记为“收藏”?

有很多照片(76k)。存储在 YYYY/YYYY-MM/YYYY-MM-DD 结构中。有 2k 个目录。

有什么提示吗?

答案1

当我不想使用 Shotwell 进行照片选择时,我的工作流程如下:

  1. 创建一个新目录,例如fav
  2. 在两个选项卡中打开fav带有图片的文件夹(或者,如果是较旧的 Nautilus,或使用 Nemo,则在两个窗格中打开)
  3. 按住Ctrl并使用箭头键浏览图片(通常只需点击),然后点击Space选择感兴趣的图片。
  4. 定期按住CtrlShift 并拖动选定的图片到其他窗格/选项卡以在fav文件夹中创建链接。

答案2

如果您确实必须在 nautilus 内部执行此操作,请查看下面的选项(我个人认为像 Shotwell 或创建收藏夹文件夹之类的东西会更好)。

摘要:使用 nautilus 脚本创建一个上下文菜单选项,该选项将创建链接或重命名文件以将其“标记”为收藏夹。


首先在您选择的编辑器中创建脚本,将文件指定为收藏夹。我在下面提供了两个脚本,您可以复制/粘贴它们并用于此目的。

示例脚本1:通过更改名称来指定文件

标记为收藏的文件将被重命名,以便它们列在所有其他文件之前。这是通过在文件名前面添加“*0”来实现的。这样,文件在视觉上会标有星号,并且文件在位置上与所有未标记为收藏的文件分开。上下文菜单项可切换收藏指定。

#!/bin/bash

# set IFS environment variable for reading selected file names
defaultIFS="$IFS"
IFS=$'\n'

while read item
do
    [ "$item" == "" ] && exit # the last line is blank. Don't try to process it
    name=$(basename $item) # get just the filename
    if [ "${name:0:3}" == "*0 " ]; then
        mv "$name" "${name:3}" # if the name begins with "*0 ", remove it
    else
        mv "$name" "*0 $name" # if the name doesn't begin with "*0 ", add it
    fi
done <<< "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" # pass the arguments (list of files) to the loop

# reset IFS to original value if necessary
IFS="$defaultIFS"

示例脚本2:通过在“收藏夹”目录中创建链接来指定文件

此方法会创建指向预定“收藏夹”文件夹中标记为收藏夹的文件的链接。此脚本不会切换收藏夹指定。

#!/bin/bash

# set IFS environment variable for reading selected file names
defaultIFS="$IFS"
IFS=$'\n'

# if our favorites directory doesn't exist, create it
favDir="$HOME/My_Favorites"
[ ! -d "$favDir" ] && mkdir -p "$favDir"

while read item
do
    [ "$item" == "" ] && exit # the last line is blank. Don't try to process it
    ln -s "$item" "$favDir" # this will fail if a link with the same basename as item is already in $favDir
done <<< "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" # pass the arguments (list of files) to the loop

# reset IFS to original value if necessary
IFS="$defaultIFS"

脚本完成后,将其保存在~/.local/share/nautilus/scripts文件夹中。您用来保存此文件的名称将是创建的上下文菜单项(较少的文件扩展名)。最后,您需要将脚本设为可执行文件。现在应该能够选择文件,右键单击,然后选择脚本 ->收藏夹脚本其中“Favorites-script”是您创建的脚本的名称。

注意:我读到过(现在不记得在哪里了),如果上下文菜单选项没有立即显示,你应该尝试导航到 ~/.local/share/nautilus/scripts 在 nautilus 中。我不知道这是否有必要。

答案3

我建议不要通过 nautilus 选择图片,而是通过Shotwell(Ubuntu 预装的)。Nautilus 是一个文件浏览器,而不是选择工具。

您将立即了解哪些照片是在哪一天拍摄的(按事件组织),并且可以为照片添加评级和标签。所有文件也将保留在各自的文件夹中,不会弄乱您的文件组织。

76k 张图片非常困难,并且根据图像大小,可能需要很长时间才能对所有图片进行索引,但最终您将拥有一个易于访问的图片数据库。

相关内容