Linux批量改名问题

46次阅读

共计 754 个字符,预计需要花费 2 分钟才能阅读完成。

一大堆文件 结构为 abc123456/abc123456.jpg,想改名为 abc-123456/abc-123456.jpg,这个怎么实现?fule 2023-05-19 11:10 2#!/bin/bashfor dir in abc*/; do    new_dir=$(echo "$dir" | sed -r \’s/(abc)([0-9]+)/\\1-\\2/\’)    mv "$dir" "$new_dir"donefor file in abc*-*/abc*.jpg; do    dir=$(dirname "$file")    base=$(basename "$file")    new_base=$(echo "$base" | sed -r \’s/(abc)([0-9]+)/\\1-\\2/\’)    mv "$file" "$dir/$new_base"done 复制代码 0.0 2023-05-19 11:16 3#!/bin/bashfind . -type d -regex "./[a-zA-Z]+[0-9]+" | while read -r dir; do    new_dir=$(echo "$dir" | sed -E \’s/([a-zA-Z]+)([0-9]+)/\\1-\\2/\’)    mv "$dir" "$new_dir"donefind . -type f -regex "./[a-zA-Z]+[0-9]+\\.jpg" | while read -r file; do    new_file=$(echo "$file" | sed -E \’s/([a-zA-Z]+)([0-9]+)(\\.jpg)/\\1-\\2\\3/\’)    mv "$file" "$new_file"done 复制代码 skywing 2023-05-19 11:28 4fule 发表于 2023-5-19 11:10 感谢,搞定了

正文完
 0