bash 脚本正则表达式



我对使用 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

相关内容

  • 没有找到相关文章

最新更新