linux – bash – 仅在存在相应的文本文件时打开图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – bash – 仅在存在相应的文本文件时打开图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1084字,纯文字阅读大概需要2分钟。
内容图文
当我尝试仅根据存储在.txt文件中的信息打开图像时,我遇到了Bash中的一个问题.我试图按大小或高度对多个图像进行排序,并按排序顺序显示图像,但如果文件夹中没有带有相同名称的.txt文件的.jpg,则不应处理它.
我已经完成了我的情况的排序部分,并且我想弄清楚我将如何仅打开带有.txt文件的.jpg扩展名的图像.
我认为一个解决方案看起来像我将每个.jpg的名称(没有扩展名)放在一个列表中,然后处理列表并运行如下:
[if -f $filename.txt];然后~~~
但我遇到了没有for循环迭代的问题,否则所有的图片都会打开多次.我的尝试是:
for i in *jpg; do
y=$y ${i.jpg}
done
if[ -f $y.txt ] then
(sorting parts)
这只是查看y中的最后一个文件名,因为它应该,但我试图找出一种方法来查看每个单独的文件名,看看是否存在该文本文件,以便将其包含在排序中.
非常感谢你的帮助!
解决方法:
在单个变量中收集文件名列表是反模式.您想要在数组中收集它们.
a=()
for f in *.jpg; do
if [ -e "${f%.jpg}".txt ]; then
continue
fi
a+=("$f")
done
# now do things with "${a[@]}"
通常,您并不需要在数组中收集文件 – 只需在遍历文件时执行for循环中所执行的所有操作.
(实际上y = $y ${i%.jpg}不附加到y – 它在尝试执行名为i sans the .jpg扩展名的文件期间将y设置为自身,这很可能会失败绝大多数情况.)
内容总结
以上是互联网集市为您收集整理的linux – bash – 仅在存在相应的文本文件时打开图像全部内容,希望文章能够帮你解决linux – bash – 仅在存在相应的文本文件时打开图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。