shell 批量更改文件或目录名

批量更改文件名:

1、在多个文件后面添加.bak或者其他有规律的字符

ls  |xargs -n1 -i{} mv {} {}.bak

或者

find ./*.txt -exec mv {} {}_bak \; 

2、通用的批量更改脚本

#!/bin/bash
read -p "old extension:" oldext
read -p "new extension:" newext
read -p "The directory:" dir
cd $dirfor file in $(ls $dir | grep .$oldext)
        do
        name=$(ls $file | cut -d. -f1)
        #或者直接用sed替换
        #name=$(echo $file |sed ‘s/oldpattern/newpattern/g‘)
        #mv $file $name
        mv $file ${name}.$newext
        echo "$name.$oldext ====> $name.$newext"
        done
echo "all files has been modified."


本文出自 “DanielQu” 博客,请务必保留此出处http://qujunorz.blog.51cto.com/6378776/1639849

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。