gpt4 book ai didi

bash - 使用 Bash 从文件名中删除连字符

转载 作者:行者123 更新时间:2023-12-04 16:16:46 25 4
gpt4 key购买 nike

我正在尝试创建一个小的 Bash 脚本来从文件名中删除连字符。例如,我想重命名:

CropDamageVO-041412.mpg



CropDamageVO041412.mpg

我是 Bash 的新手,所以要温柔:] 谢谢你的帮助

最佳答案

尝试这个:

for file in $(find dirWithDashedFiles -type f -iname '*-*'); do
mv $file ${file//-/}
done

那是假设您的目录名称中没有破折号。那会打破这个。
${varname//regex/replacementText}语法解释 here .只需搜索子字符串替换即可。

此外,如果您的目录或文件名中有空格,这会中断。如果你的文件名中有空格,你应该使用这个:
for file in *-*; do
mv $file "${file//-/}"
done

这样做的缺点是必须在包含要更改的文件的每个目录中运行,但是,就像我说的那样,它更健壮一些。

关于bash - 使用 Bash 从文件名中删除连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158704/

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