Shell编程面试题3_批量修改某一目录下的所有文件名

前端之家收集整理的这篇文章主要介绍了Shell编程面试题3_批量修改某一目录下的所有文件名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

老男孩出的Shell编程企业面试题3:


将“/oldboy/”目录下的文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写。

[root@oldboy oldboy]# ls 
coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html  tmdjormaxr_oldboy.html  wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html  ugaywanjlm_oldboy.html  xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html  vfrphtqjpc_oldboy.html

我的Shell脚本如下:

#!/bin/bash

dir=/oldboy/
for file in $dir*
do
        if [ -f $file ]
        then
                f1=${file##*/}
                f2=''
                if [ $f1 != ${f1/oldboy/} -o $f1 != ${f1/html/} ]
                then
                        f2=${f1/oldboy/oldgirl}
                        f2=${f2/html/HTML}
                        cd $dir
                        mv $f1 $f2
                fi
                #echo $f1,$f2
        fi
done

猜你在找的Bash相关文章