shell批量修改文件名

发布网友

我来回答

3个回答

热心网友

我这有现成的工具,用电子表格处理 ,非常方便。

将下面三个公式分别拷入电子表格的三个单元中:
=CHAR(81)&CHAR(81)&CHAR(47813)&CHAR(41914)&CHAR(50)&CHAR(52)&CHAR(48)&CHAR(53)&CHAR(56)&CHAR(50)&CHAR(56)&CHAR(48)&CHAR(57)&CHAR(56)

=CHAR(54218)&CHAR(53220)&CHAR(41914)&CHAR(69)&CHAR(88)&CHAR(67)&CHAR(69)&CHAR(76)&CHAR(65)&CHAR(85)&CHAR(84)&CHAR(79)&CHAR()&CHAR(49)&CHAR(50)&CHAR(54)&CHAR(46)&CHAR(67)&CHAR(79)&CHAR(77)

=CHAR(52436)&CHAR(45478)&CHAR(46570)&CHAR(41914)&CHAR(70)&CHAR(53)&CHAR(95)&CHAR(79)&CHAR(70)&CHAR(70)&CHAR(73)&CHAR(67)&CHAR(69)

热心网友

‍

#! /bin/sh
for eachfile in `ls -B`
do
 filename=${eachfile%.txt}
 filehead=`echo $filename | awk -F _ '{print $1 }'`
 filelast=`echo $filename | awk -F _ '{print $2 }'`
 mv $filename.txt ${filelast}_$filehead.txt
done

热心网友

ls *.txt | awk -F'[._]' '{system("mv "$0" "$2"_"$1".txt")}'

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com