根据我收藏的成千上万张个人照片,我想选择一些特别的照片进行打印并显示为拼贴画。所有的照片都在一个硬盘上,但散落在/ home / $ USER。我知道如何使用如下命令查找所有jpg照片:find / -iname "*.jpg" -print
。但那只列出了文件名。我可以运行类似的命令来查看文件,但这只是挑战的一半。
如何查看每张照片,还有一个对话框,说明是否将照片复制到要打印的目录中? (例如,使用fdupes -r -d /home/$USER
我可以看到关于要删除哪个文件的对话框。
(有些背景,我使用的是ubuntu 12.04 x64,我对终端很满意。)
答案 0 :(得分: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
如果这不是你想要的,请告诉我。
答案 1 :(得分: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
即可复制图片。
答案 2 :(得分:1)
有很多方法可以解决这个问题。我个人总是发现例如对于像这样的问题,这是一个很好的工具。您可以轻松地将其配置为读取qiv-command配置,您可以在其中准确编写您希望在特定按键上执行的操作。我将它用于执行类似的任务,只需将手指放在d(删除),空格(下一个)上。
e.g。 https://bitbucket.org/ciberandy/qiv/src/3b3fb21db52c076cd05792f648df8ae659d1af92/qiv-command.example