批量修改不同子目录下的重名文件名,增加子目录信息
应用场景:
不同子目录里的文件名重名,需要批量修改重名的文件名(增加子目录信息) 。
批量修改不同子目录下的重名文件名,增加子目录信息,并把它移动到当前目录下。
// $(NF-2) 中的2:要添加的子目录信息与文件名的目录级数差
find $PWD -name *key* | xargs ls -ld | grep -v ^d|awk '{print $9}' | tr -s '\n' | awk -F '/' '{print "mv " $0" "$(NF-2)_$NF} ' | sh
find $PWD -name *key* -type f | xargs ls -ld |awk '{print $9}' | tr -s '\n' | awk -F '/' '{print "mv " $0" "$(NF-2)_$NF} ' | sh
批量修改不同子目录下的重名文件名,增加子目录信息,不移动(只在原目录下修改)。
// $(NF-2) 中的2:要添加的子目录信息与文件名的目录级数差
find $PWD -name *key* | xargs ls -ld | grep -v ^d|awk '{print $9}' | tr -s '\n' | awk -F '/' '{dir="";for(i=2;i<=NF-1;i++) dir=(dir"/"$i);print "mv " $0" "dir"/"$(NF-2)"_"$NF}' | sh
find $PWD -name *key* -type f | xargs ls -ld |awk '{print $9}' | tr -s '\n' | awk -F '/' '{dir="";for(i=2;i<=NF-1;i++) dir=(dir"/"$i);print "mv " $0" "dir"/"$(NF-2)"_"$NF}' | sh

浙公网安备 33010602011771号