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

1、在要批量更改的文件夹下,新建文本文件(即txt文件),打开文本文件,输入 ren * *.要改成的文件后缀名,保存文本文件,每个 * 前都有一个空格!

(只将某些文件后缀名更改为其他后缀名:在打开的文本文件中输入:Ren 空格 *.需要修改的文件后缀名 空格*.需要改成的文件后缀名)

2、然后将文本文件的后缀名txt更改为bat,然后双击这个文件即可,更改完成之后可删除这个新建文本文档

方法一,利用DOS命令

1.点击“开始”,在“运行”里输入cmd

2.利用盘符转移命令转到你想要 *** 作的盘,命令格式为 盘符名+冒号+回车

3.利用DOS命令进入文件夹,命令格式为 cd+空格+文件夹名

4.此时输入命令 ren *.旧后缀 *.新后缀

5. *** 作成功

例如我现在有如下需求,想将多个.cpp文件修改为.txt文件,这些.cpp文件的路径为d:\1\c++

现在就按照上面的步骤进行,在DOS里输入"d:",在输入"cd 1",回车,再"cd c++",最后输入"ren *.cpp *.txt"就欧克了。

方法二,制作DOS命令脚本(优于方法一)

方法一虽然可以实现后缀转换但是太过于麻烦,如果下次还有类似的需求岂不是有要再来一遍,不用怕,看下面。

1.建立一个txt文件,在里面输入如下代码(后缀1为需要修改的旧后缀名,后缀2为新的后缀名):

@echo off

ren *.后缀1 *.后缀2

2.然后将该txt文件保存为.bat文件,这时图标会变成DOS命令脚本。

3.点击该命令脚本,即可实现批量后缀转换。


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

原文地址: http://outofmemory.cn/bake/11713399.html

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

发表评论

登录后才能评论

评论列表(0条)

保存