我试图遍历一系列文件并修改它们。文件遵循一种模式,但我不能使用模式,因为我不需要所有匹配模式的文件,只需要一定数量的数字序列。
示例:
for files in D70_3113.NEF...D70_3330.NEF;do exiftool -GPS...; done
答案 0 :(得分:1)
如果要遍历数字列表,可以使用大括号扩展:
for files in D70_{3113..3330}.NEF; do exiftool -GPS...; done
答案 1 :(得分:0)
这取决于您对命名方案的期望。我无法判断您的文件是否可以从
开始D70_3113.NEF to D79_9999.NEF
或
D70_3113.NEF to D70_3999.NEF
或者你有什么。假设后者,你可以这样做:
for files in D70_3[0-9][0-9][0-9].NEF; do exiftool -GPS...; done
...让shell的模式匹配为你完成工作。
警告:如果你有太多文件," for"命令行可能太长。在这种情况下,您需要查找并将其输出管道输入到"而#34;环。但今天的命令行可以运行很长时间......超过100,000个字符。见Bash command line and input limit