shell批量重命名目录下的文件(修改为从某个数字开始的数字)

发布时间:2020-09-02编辑:脚本学堂
分享一例shell脚本,实现将目录下的所有文件进行改名,修改为从某个数字开始的数字,对文件进行重命名,有需要的朋友参考下。

一例批量重命名文件名称的shell/ target=_blank class=infotextkey>shell脚本

例子:
 

复制代码 代码示例:
#!/bin/bash 
print_error_info(){ 
    cat <<ERROR_EOF 
error ! 
use option h to get help infomation  
ERROR_EOF 

st=0 
while getopts "s:p:h" OPT 
do 
    case $OPT in  
    s) 
    st=$OPTARG 
    ;; 
    p) 
    path=$OPTARG 
    ;; 
    h) 
    cat <<HELP_EOF 
DESCRIPTION  
    This script changes the name of files under directory specified by option p to continuous number which starts from   
a number specified by option s. The extension name of the file won't be changed 
 
OPTIONS 
    -s  
        specify the initiating number  
    -p  
        specify the directory in which files that will be changed reside 
    -h  
        output this help document 
HELP_EOF 
    exit 0 
    ;; 
    esac 
done 
if [ -z "$path" ] ; then  
    print_error_info 
    exit 1 
fi   
cnt=0 
find "$path" -maxdepth 1 -type f  | while read line  
do  # www.jb200.com
    name=$(basename $line)   
    echo $line 
    if [ $(echo $name | linuxjishu/13830.html target=_blank class=infotextkey>awk '{ print match($0, "."); }') -eq "0" ]; then  
        name="$cnt"  
    else  
        name="$cnt"."$(echo $name | awk -F . '{ print $NF }')" 
    fi  
    name="$(dirname $line)"/$name 
    mv $line $name 
    let "cnt=$cnt+1" 
done 

说明:
此脚本可对大量文件进行批量修改文件名。