Linux中批量修改文件名

简介:

Linux中批量修改文件名


有时候我们有一个目录下面的文件名都需要重新命令

如: 以下有十个学生完成的脚本,现在需要将finish改为ing

1
2
3
[root@slave  test ] # touch student_{01..10}_finish.sh
[root@slave  test ] # ls student_*
student_01_finish.sh  student_03_finish.sh  student_05_f
1
student_02_finish.sh  student_04_finish.sh  student_06_finish.sh  student_08_finish.sh  student_10_finish.sh


方法1: sed

1
for  in  ` ls  student_*` ;  do  echo  $f |  mv  $f ` sed  's#finish#ing#g' `; done



方法2: awk 字符串拼接的方法(在传递给bash)

测试:

1
2
[root@slave  test ] # echo student_05_finish.sh | awk -F 'finish' '{ print "mv " $0 " " $1 "ing"$2}'
mv  student_05_finish.sh student_05_ing.sh


批量执行

1
2
3
4
[root@slave test]# for f in `ls student*` ;do echo $f | awk -F 'finish' '{ print "mv " $0 " " $1 "ing"$2}';done | bash
[root@slave test]# ls student_*
student_01_ing.sh  student_03_ing.sh  student_05_ing.sh  student_07_ing.sh  student_09_ing.sh
student_02_ing.sh  student_04_ing.sh  student_06_ing.sh  student_08_ing.sh  student_10_ing.sh


或:

1
for  in  ` ls  student*` ; do  echo  $f |  mv  $f ` awk  -F  'finish'  '{ print  $1 "ing" $2}' `; done

  


方法三: rename命令,专业处理批量修改文件名的linux 命令

用法: man rename

wKiom1cY6HGzCQvcAAAveZ7PjPE296.png



1
2
3
4
[root@slave test]# rename "finish" "ing" student_*
[root@slave test]# ls student_*
student_01_ing.sh  student_03_ing.sh  student_05_ing.sh  student_07_ing.sh  student_09_ing.sh
student_02_ing.sh  student_04_ing.sh  student_06_ing.sh  student_08_ing.sh  student_10_ing.sh

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1766448如需转载请自行联系原作者


cuizhiliang


相关文章
linux如何查找指定文件名
linux如何查找指定文件名
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
1050 2
|
Linux
linux不同场景下修改文件名的五种方法
linux不同场景下修改文件名的五种方法
936 1
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
Linux Perl
Linux|sed命令花式批量修改文件
Linux|sed命令花式批量修改文件
657 0
|
安全 Linux
6.Linux文件管理命令---mv更改文件名
6.Linux文件管理命令---mv更改文件名
376 0
|
Linux Shell 开发工具
3.Linux文件管理命令-----ls显示文件名
3.Linux文件管理命令-----ls显示文件名
357 0
|
Linux
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
1308 0
Linux系列——文件名多一个空格怎么去掉?
Linux系列——文件名多一个空格怎么去掉?