使用shell实现批量修改文件名

作者:佚名 上传时间:2023-03-18 运行软件:GNU Bash 软件版本:GNU Bash 5.0.17 版权申诉

这段shell脚本可以批量修改指定目录下所有文件的名称,替换名称中的指定字符串为新的字符串。采用for循环遍历所有文件,使用sed命令替换字符串。

#!/bin/bash
echo "请输入要修改的目录:"
read dir
echo "请输入要替换的字符串:"
read oldstr
echo "请输入要替换为的新字符串:"
read newstr
for file in $dir/*
do
    if [ -f $file ]; then
        filename=$(basename $file)
        newfilename=$(echo $filename | sed "s/$oldstr/$newstr/g") # 使用sed命令替换字符串
        if [ "$filename" != "$newfilename" ]; then # 判断文件名是否被修改
            mv $file $dir/$newfilename # 修改文件名
            echo "修改 $filename$newfilename"
        fi
    fi
done

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使用shell实现批量修改文件名
这段shell脚本可以批量修改指定目录下所有文件的名称,替换名称中的指定字符串为新的字符串。采用for循环遍历所有文件,使用sed命令替换字符串。#!/bin/bashecho "请输入
GNU Bash 5.0.17
GNU Bash
2023-03-18 04:41
shell脚本批量修改文件名
这个脚本可以批量修改当前文件夹下面的jpg图片文件名。主要是为了方便android开关机动画文件名字格式化,格式文件名为4位数,不足4位以0补足,如:0001.jpg,0010.jpg,0110.jp
0B
2018-12-29 02:31
使用Shell批量修改文件名
本示例代码展示了如何使用Shell脚本批量修改文件名,实现方式为通过遍历指定目录下的文件,根据指定的规则重新命名文件名。#!/bin/bash# 遍历目标目录下的所有文件for file in
Bash 4.0
Bash
2023-03-24 07:35
使用Shell命令批量修改文件名
该示例代码演示了如何使用Shell命令批量修改指定目录下的所有文件名。具体实现方式是使用for循环遍历文件名列表,使用sed命令进行文件名替换操作。#!/bin/bashcd /path/to/y
bash 4.4.20
GNU Bash
2023-03-23 05:40
使用Shell命令批量修改文件名
使用Shell命令可快速批量修改文件名字,常常用于文件重命名、移动以及处理。下面的示例代码展示了如何批量将当前目录下所有以“.bak”结尾的文件重命名,去掉“.bak”后缀。#!/bin/bash
bash 3.0.0以上
任意支持Shell脚本的编辑器或终端
2023-03-30 01:35
使用Shell脚本批量修改文件名
示例代码#!/bin/bashcd /path/to/directoryfor file in *.txtdo mv "$file" "${file%tx
Linux 2.0+
Linux命令行工具
2023-03-11 13:24
使用 Shell 脚本批量修改文件名
在 Linux 操作系统中,使用 Shell 脚本可以轻松地批量修改文件名,提高工作效率。下面是一个示例代码和代码释义,帮助你快速掌握如何自动化修改文件名。示例代码#!/bin/bash# 设
Linux 操作系统
Vim
2023-03-16 08:49
使用Shell编写for循环实现批量修改文件名
示例代码#!/bin/bash#获取指定目录下的所有文件名FILES=/path/to/files/*#遍历所有文件for f in $FILESdo #获取文件名 fi
Linux/Mac/Windows
Shell脚本
2023-04-03 23:44
Shell如何批量修改文件名
在Shell中,我们可以使用一些命令来批量修改文件名。以下是一些示例代码和代码释义,以及一些总结。示例代码1. 使用mv命令重命名文件mv {原文件名} {新文件名}这将把原文件名修改为新文
MacOS Catalina
Bash Shell
2023-04-08 00:10
利用shell批量修改文件名
该示例代码通过for循环遍历一个目录下的所有文件,利用shell的重命名命令mv批量修改文件名,将文件名中的特定字符替换为另一个字符。#!/bin/bash# for循环遍历目录下的所有文件fo
Bash 3.2.57
Bash shell
2023-05-18 02:35