从我收藏的成千上万张个人照片中,我想选择一些特殊的照片打印出来,作为拼贴展示。所有的照片都在一个硬盘上,但分散在/home/$USER中。我知道如何使用这样的命令找到所有的jpg照片:find / -iname "*.jpg" -print。但这只列出了文件名。我可以运行类似的命令来查看文件,但这只是挑战的一半。
那么,我如何查看每张照片,并显示是否将照片复制到要打印的目录的对话框?(例如,使用fdupes -r -d /home/$USER时,我可以看到一个关于要删除哪个文件的对话框。
(一些背景知识,我使用的是ubuntu12.04 x64,我对这个终端很满意。)
发布于 2013-05-10 09:47:41
有很多方法可以解决这个问题。我个人总是发现qiv是一个很好的工具来解决这样的问题。您可以很容易地将其配置为读取qiv命令配置,在该配置中,您可以准确地编写在特定按键上执行的操作。我使用它来完成与您类似的任务,只需将手指放在d(删除),space (下一步)上。
例如https://bitbucket.org/ciberandy/qiv/src/3b3fb21db52c076cd05792f648df8ae659d1af92/qiv-command.example
发布于 2013-05-05 09:57:14
# 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-07 16:17:35
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键即可复制图片。
https://stackoverflow.com/questions/16380664
复制相似问题