我对使用 reg 表达式的 Linux 脚本不是很熟悉,
但我需要一个脚本来执行此操作:
copy A/first_image.jpg to B/first_image/thumb.jpg
copy A/second_image.jpg to B/second_image/thumb.jpg
等。
文件夹 A 中的每个图像都复制到带有他名字的目录中(在目录 B 中),并重命名为 thumb.jpg
我该怎么做?
您使用文件名"globbing",它与正则表达式本身相当,但又不同。您还可以使用循环和命令 basename
。喜欢这个:
for file in A/*.jpg
do
base=`basename $file .jpg`
mkdir -p B/${base}
cp A/${base}.jpg B/${base}/thumb.jpg
done
从 A, B, C
等的父目录运行此脚本:
for s in */*.jpg; do
f="${s##*/}"
d="${s%%/*}/${f%%.*}"
mkdir -p "$d" 2>/dev/null
cp "$s" "$d/thumb.jpg"
done