问题
/a.jpg
/a-150x150.jpg
/a-300x300.jpg
/b.jpg
/b-150x150.jpg
/b-300x300.jpg
如何在没有 150x150 和 300x300 参与水印的情况下仅在主图像上提供 bash 脚本水印?
我尝试了一些代码但没有用。 300x300 保留水印
file -i *.jpg | grep image | awk -F':' '{ print $1 }' | while read IMAGE
我只想
/a.jpg
/b.jpg
/c.jpg
您可以使用 find
准确选择您想要的文件,然后将它们提供给 while
使用进程替换循环:
#!/bin/bash
while read filename ; do
echo "$filename" # your code here
done < <( find . -name '*.jpg' -and -not -regex '.*-[0-9]+x[0-9]+\.jpg' )
此代码使用 -name
选择所有 .jpg
图片和-regex
排除带有 -<number>x<number>
的那些模式(必须编写正则表达式以匹配整个文件名)。
如果您的代码需要防止带有换行符的奇异文件名,您应该使用 -print0
用 find
切换和 -d $'\0'
用 read
切换.
我是一名优秀的程序员,十分优秀!