首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Mac-OS上从列表中选择文件

如何在Mac-OS上从列表中选择文件
EN

Stack Overflow用户
提问于 2014-09-14 18:38:57
回答 1查看 727关注 0票数 0

我有一堆名称完全相同的.cr2和.jpg文件。".cr2“是一种数码底片的文件格式,每个.jpg都是一个转换成8位版本的cr2-photo。每个拥有佳能相机的摄影师都会得到这样的结构:拍一张照片--得到一个.cr2版本和一个.jpg版本。Cr2-s的权重很大,这就是为什么我发送jpeg给我的客户进行过滤。在他们从成千上万的照片中发回最好的百张照片后,我必须逐一挑选这些照片的cr2版本。一定有更好的办法。在windows中,我找到了一种方法,通过复制选择来修改缓冲区(在文本编辑器中将每个".jpg“替换为".cr2"),然后从缓冲区恢复选择。这个问题似乎很愚蠢,但我找不到mac的答案,我花了很长时间一个接一个地选择这些文件,我认识的所有摄影师都在做同样的事情,这让我发疯。

EN

回答 1

Stack Overflow用户

发布于 2014-09-15 05:58:04

这是一个bash脚本,只需双击它就可以执行您想要的操作。首先,您需要编辑前2行,告诉它1)在哪里可以找到CR2文件,2)客户端已经接受的JPEG在哪里。

最初,我假设CR2文件位于您的登录/主目录下的某个位置,并且客户端接受的JPEG文件位于桌面上一个名为accepted的文件夹中。编辑第3行和第4行以反映实际情况,然后在桌面上将以下脚本另存为GetCR2s.command

代码语言:javascript
运行
复制
#!/bin/bash
#
# You can edit the next two lines to match your setup
CR2LOCATION="$HOME"
ACCEPTEDLOC="$HOME/Desktop/accepted"

shopt -s nocasematch    # Match JPG and jpg and CR2 and cr2 regardless of case
shopt -s nullglob       # Don't die if there are no files

# Tell user what is going on...
echo Locating CR2s in $CR2LOCATION, to match accepted files in $ACCEPTEDLOC...

# Go where the JPEGs are, or give up
cd "$ACCEPTEDLOC" 2> /dev/null
if [ $? -ne 0 ]; then echo ERROR: Unable to change directory to $ACCEPTEDLOC; exit 1; fi

# Consider all JPEGs in this directory
for f in *.jpg; do
   cr2="${f%%jpg}cr2"   # Replace "jpg" extension with "cr2"
   echo Processing \"$f\", looking for \"$cr2\"...
   find "$CR2LOCATION" -iname "$cr2" -not -path "$ACCEPTEDLOC" -exec cp "{}" . \; 2> /dev/null
done

然后,启动终端应用程序,并在使用前仅执行一次以下操作,以使脚本可执行:

代码语言:javascript
运行
复制
cd Desktop
chmod +x GetCR2s.command

现在您应该能够保存您的客户端已接受的图像(通过单击电子邮件程序中的Save Attachments )到Desktop/accepted文件夹,然后只需双击桌面上的script GetCR2s.command,它将为您收集所有匹配的CR2文件到该文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25832391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档