0

从我收藏的成千上万张个人照片中,我想选择一些特别的照片来打印和展示为拼贴画。所有照片都在一个硬盘上,但分散在 /home/$USER 周围。我知道如何使用如下命令查找所有 jpg 照片:find / -iname "*.jpg" -print. 但这仅列出文件名。我可以运行类似的命令来查看文件,但这只是挑战的一半。

然后,我如何查看每张照片以及是否将照片复制到将要打印的目录的对话框?(例如,fdupes -r -d /home/$USER我可以看到一个关于要删除哪个文件的对话框。

(一些背景知识,我使用的是 ubuntu 12.04 x64,我对终端很满意。)

4

3 回答 3

3
# assuming you have $pic_list as an array of all images
# i.e. somethiing like pic_list=`find / -iname "*.jpg"`
for pic in $pic_list
do
    display $pic &  -OR- eog $pic &
    echo "Press 'y' to copy $pic to /home/$USER/<dest_folder>"
    read option
    if [ $option = "y" -o $option = "Y" ]
    then
         cp -f $pic /home/$USER/<dest_folder>
    else
          echo "will not copy $pic"
    fi
done

如果这不是您要找的东西,请告诉我。

于 2013-05-05T01:57:13.653 回答
2

1.对单个目录中的所有图像进行符号链接

mkdir all-pics
cd all-pics
find ~/Pictures/ -iname '*.jpg' | \
     awk '{name=$0; gsub(/[/]/,"_", name);\
          system("ln -s \"" $0 "\" \"" name "\"")}'

注意:脚本会为找到的每个图像awk生成并执行命令 ln -s "/path/to the/original image.jpg" "_path_to the_original image.jpg"

2.用于geeqie查看图像。

3.使用Ctrl+C快捷方式将当前图像复制到单独的to_be_printed/文件夹中。 geeqie的复制对话框会记住最后选择的文件夹,因此您只需按Ctrl+C,Enter即可复制图片。

于 2013-05-07T08:17:35.383 回答
1

有很多方法可以解决这个问题。我个人总是发现例如 qiv 是解决此类问题的好工具。您可以轻松地将其配置为读取 qiv-command 配置,您可以在其中准确编写您想要在特定按键上执行的操作。我将它用于与您类似的任务,只需将手指放在 d(删除),空格(下一个)上。

例如 https://bitbucket.org/ciberandy/qiv/src/3b3fb21db52c076cd05792f648df8ae659d1af92/qiv-command.example

于 2013-05-10T01:47:41.043 回答