用于正则表达式文件重命名的 Bash 脚本

标签 bash file directory rename

我对 Bash 脚本非常陌生,想测试一下我遇到的以下问题。我目前在一个目录中有很多文件,格式为

V3_August_'day'_0_'simulations'.pickle

其中 'day''simulations' 表示针对不同文件而更改的变量。我想将这些转换成表格

V3_2012_8_'day+1'_0_'simulations'.pickle

迭代这些文件并根据需要重命名它们的脚本会是什么样的?

最佳答案

基于纯 bash 的解决方案:

for x in *.pickle; do
   [[ $x =~ ^([^_]+_[^_]+_)([^_]+)(_.+)$ ]] && mv "$x" \
     "${BASH_REMATCH[1]}$((${BASH_REMATCH[2]} + 1))${BASH_REMATCH[3]}"
done

关于用于正则表达式文件重命名的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18065083/

相关文章:

bash - 根据月份名称创建目录

linux - 删除星号中旧文件夹的脚本

JavaScript:在文本区域中显示文件:

c++ - Fstream管理问题

html - 设置 <a href =""> 为本地文件的正确方法

ftp - 有没有办法在无法访问服务器的情况下找到孤立页面?

linux - 为什么在 Linux 中父进程被杀死后子进程仍然存在?

ios - 如何将 xcode 的默认 shell 更改为 bash

php - 这是一个可行的子目录系统来存储文件吗?

linux - 检查目录是否已更改