gpt4 book ai didi

linux - 在 Linux 中批量重命名文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:33 25 4
gpt4 key购买 nike

我有 linux 格式的文件:

img_1234563_@_12345.XX-FFF-123334-35370-122232-12342.gif
img_1234fdfd3_fd12345.XX-FdFF-1233343-35370-145232-d12342.gif

我想重命名为类似的东西

img_1234fdfd3_fd12345.jpg

所以把第一个点之后的所有东西都剪掉,把jpg放在最后

我尝试使用 for 并重命名为像 img_/\S[//^.]+ 这样的模式但没有太大的成功:(

最佳答案

您可以使用 String split 来分割您的文件名。当有变量 s 时,您可以使用 ${MYVAR/%pattern} 从头保留模式的最短匹配。

我不知道您是否正在处理目录中的所有条目,所以我想您有一个变量 files 包含您需要重命名的所有文件名。否则,您只需更改绑定(bind)的循环以适合您的文件列表。

#!/bin/bash

files="img_1234563_@_12345.XX-FFF-123334-35370-122232-12342.gif img_1234fdfd3_fd12345.XX-FdFF-1233343-35370-145232-d12342.gif"

for file in $files; do
name="${file/%.*}"
fullName="${name}.jpg"
mv "$file" "$fullName"
done

关于linux - 在 Linux 中批量重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266234/

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