BASH中带有空格的文件名
我正在尝试编写脚本,将大照片裁剪并调整为高清壁纸。
#! /bin/bash
for i in `ls *.jpg`
do
width=`identify -format '%w' $i`
height=`identify -format '%h' $i`
if [ `echo "$width/$height > 16/9" | bc -l` ]
then
exec `convert $i -resize 1920 -gravity Center -crop '1920x1080+0+0' +repage temp`
else
exec `convert $i -resize x1080 -gravity Center -crop 1920x1080+0+0 +repage temp`
fi
rm $i
mv temp $i
done
但是该脚本似乎在文件名中带有空格的问题(例如Tumble Weed.jpg)。我怎样才能解决这个问题?
-
首先,您不需要
ls
。通过ls
在backtics中使用,您可以使bash隐式地将字符串解析为一个列表,该列表按空格分隔。而是让bash生成列表并将其分离,而无需进行此类怪癖:另外,您需要将所有
$i
用法都括在引号中,以使bash整体上替代它,而不是将字符串拆分成多个单独的单词。这是演示两种想法的脚本:
for i in *.jpg ; do echo "$i"; done
-
sqlcmd脚本,文件名中带有空格
2021-05-20 关注 0 浏览67 1答案
-
href语法:文件名中可以有空格吗
2021-02-02 关注 0 浏览80 1答案
-
( )在Windows中,支持长文件名,但文件名中不允许有空格。
2022-05-14 关注 0 浏览28 1答案
-
如何使用bash脚本替换文件名中的空格
2021-02-02 关注 0 浏览83 1答案
-
如何使用 bash 脚本替换文件名中的空格
2022-05-26 关注 0 浏览11 1答案
-
Bash中的文件名无法正确打印,并带有下划线“ _”
2021-02-02 关注 0 浏览234 1答案
-
如何在bash中访问名称中带有空格的环境变量?
2021-01-31 关注 0 浏览83 1答案
-
遍历带有空格的文件列表
2022-07-28 关注 0 浏览11 1答案
-
使用Java读取路径中带有空格的文件
2021-01-30 关注 0 浏览100 1答案
-
如何在python文件中导入名称中带有空格的文件?
2021-01-29 关注 0 浏览163 1答案