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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...