【发布时间】:2011-10-27 15:12:44
【问题描述】:
我正在编写这个 Bash 脚本:
count=0
result
for d in `ls -1 $IMAGE_DIR | egrep "jpg$"`
do
if (( (count % 4) == 0 )); then
result="abc $d"
if (( count > 0 )); then
echo "$result;"
fi
else
result="$result $d"
fi
(( count++ ))
done
if (( (count % 4) == 0 )); then
echo $result
fi
脚本是将部分字符串拼接成一个字符串,当值除以4时,它应该大于0。
在 IMAGE_DIR 中,我有 8 张图片,
我得到这样的输出:
abc et004.jpg
abc et008.jpg
但我希望有:
abc et001.jpg et002.jpg et003.jpg et004.jpg;
abc et005.jpg et006.jpg et007.jpg et008.jpg;
我该如何解决这个问题?
【问题讨论】:
-
也许Code Review 会是一个更好的地方来提出这样的问题?
-
附带说明,您应该避免使用反引号,因为它们不会嵌套。只需使用
$(...)代替。如果你有带空格的 jpg 文件(比如ls | grep | while read d; do ...),你的 for 循环也会失败。