gpt4 book ai didi

linux - 重命名 shellscript 子字符串中的文件名

转载 作者:行者123 更新时间:2023-12-03 09:52:29 26 4
gpt4 key购买 nike

我有名为“images123.jpg”、“images456.jpg”等的文件

我想将这些文件 mv 到 testfolder 文件夹中,并相应地将它们重命名为“123.jpg”、“456.jpg”等。

这是我尝试过的

for file in *.jpg; d
mv $file testfolder/($file | cut -c7-)
done

最佳答案

下面的脚本应该可以满足您的需求。

#!/bin/sh
for file in images*.jpg; do
mv ${file} testfolder/${file#images}
done

关键部分是${file#images}。那是一个 bash shell parameter expansion :

${parameter#word}

${parameter##word}

The word is expanded to produce a pattern and matched according to the rules described below (see Pattern Matching). If the pattern matches the beginning of the expanded value of parameter, then the result of the expansion is the expanded value of parameter with the shortest matching pattern (the ‘#’ case) or the longest matching pattern (the ‘##’ case) deleted.

在这种特殊情况下,它从每个文件名的开头匹配并删除 images

关于linux - 重命名 shellscript 子字符串中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62750539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com