这似乎是一个简单的问题,但是距离我上次进行脚本编写已经有很长时间了,我是bash脚本的新手,因此我深表歉意。
我需要从服务器下载大量图片文件,然后根据图片文件的名称进行整理,在这种情况下,图片文件是页面,我需要将它们移到章节目录中。
图片文件名称的示例如下所示:“ 0080-002.png”
0080 =
002章=页面
因此,如果文件为“ 0080-***。png”,则将其移至目录“ chapter-80”。
这是我到目前为止所拥有的。
#!/bin/bash
mkdir BOOK
cd BOOK
mkdir chapter-{1..80}
wget SOME_URL/00{01..80}-0{1..90}.png
for file=$(ls | grep *.png | cut -c1-4) in ~/BOOK/ do
我曾考虑过使用增量变量,
但由于变量为“ $ file”,我真的不知道该怎么做。
-很抱歉,我的经验不足,如果您有任何建议,请先感谢。
#!/bin/bash
url="SOME_URL"
dir="BOOK"
[ "$dir" ] && mkdir -p "$dir" || dir=.
# avoid cd in scripts
#cd BOOK
#mkdir chapter-{1..80}
# sure? this could take ages
wget "$url"/00{01..80}-0{1..90}.png -P "$dir"
# avoid parsing ls
for file in "$dir"/[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9].png
do
[ -f "$file" ] || continue
subdir="${file%/*}"
fname="${file##*/}"
chapt="$(printf 'chapter-%02.0f' "${fname%%-*}")"
# only existing chapter on need
mkdir -p "$subdir/$chapt"
mv "$file" "$subdir/$chapt"
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句