Linux下怎么通过shell批量修改文件名后缀?

Linux下怎么通过shell批量修改文件名后缀?,第1张

比如修改一下目录下的所有文件的后缀

ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak

[root@ test]# touch a b c

[root@ test]# ls -l

total 0

-rw-r--r-- 1 root root 0 Apr 27 21:50 a

-rw-r--r-- 1 root root 0 Apr 27 21:50 b

-rw-r--r-- 1 root root 0 Apr 27 21:50 c

[root@ test]# ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak

[root@ test]# ls -l

total 0

-rw-r--r-- 1 root root 0 Apr 27 21:50 a.bak

-rw-r--r-- 1 root root 0 Apr 27 21:50 b.bak

-rw-r--r-- 1 root root 0 Apr 27 21:50 c.bak

格式固定的话 去掉后面6个嘛~~~在加‘.txt’~~~~ 用os.poen(‘ls’)获取各个目录下的文件名,用a表示文件名,a[0:12]获取到你要的字符串,在加'.txt',用b表示你要该的文件名,每读取一个重命名一个嘛~~~

在shell下进入你文件所在的目录,输入

for file in *.*do newname=`echo $file | tr "[A-z]" "[a-z]"`mv -f $file $newname 2>/dev/nulldone


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8655047.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存