关于linux系统下批量修改文件名和后缀

总会遇到遇到处理文件的问题,比如文件后缀修改,以前都是写shell,后来发现有个更简单的方法

rename

1,在centos 下是用c 写的 rename

用法:

a.txt  修改为 a.cc

rename txt  cc *.txt                  renme  [原字符串]  [要修改成的字符串]   [匹配文件]

有时候会遇到按序号段来修改的

a001.txt  修改为a0099.txt

rename a00 a000 a00??        rename  [原字符串]   [要修改成的字符串]   [匹配文件范围]

2,在Ubuntu 下是用perl 的renme

用法:

a.txt  修改为 a.cc

rename ‘s/\.txt/\.cc/’ *.txt       rename ‘s/[原字符串]/[要修改成的字符串] /‘    [匹配文件范围]

其实和vim和sed 下批量修改字符串没什么区别,

最后说下用shell 脚本实现

for i in `ls *.c | awk -F‘.‘ ‘{print $1}‘`
do
    mv $i.c $i.cc
done

还有就是

ls *.c | awk -F‘.‘  ‘{print $1}‘|xargs -i -t mv {}.c {}.cc

没试过,请自测

时间: 2024-10-20 04:43:38

关于linux系统下批量修改文件名和后缀的相关文章

windows下 批量修改文件名

Windows系统下批量修改文件名的详细步骤 听语音 | 浏览:11135 | 更新:2017-08-06 01:36 | 标签:windows 1 2 3 4 5 6 7 分步阅读 Windows系统下批量修改文件名的详细步骤 工具/原料 Dos命令操作 简单批量修改文件名 1 在Windows系统上批量修改文件名是非常简单的.选择所有的文件,按F2,然后输入一下描述性的文本,按enter键之后,所选的文件会以输入的描述性文字加数字排列. END 多步修改文件名 在任意一个盘中新建一个文件夹,

Linux下批量修改文件名(rename)

原文地址: http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了 比如把所有的表为cdb1_* 修改为cdb_*的在本目录下只需要# rename 'cdb1' 'cdb' * 以前都是写个for循环来做...想想多傻啊, 呵呵 rename还有更多的功能, 建议man rename下 From:http://www.ha

Linux下批量修改文件名(rename)

1.rename命令批量修改文件名, 其实Linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了 比如把所有的表为cdb1_* 修改为cdb_*的在本目录下只需要# rename 'cdb1'  'cdb'  * 以前都是写个for循环来做...想想多傻啊, 呵呵 rename还有更多的功能, 建议man rename下 From:http://www.hao32.com/unix-linux/42.html 2.批量更改文件名 rename 通过 man rename 命

linux下批量修改文件名之rename

最近因为突然用到需匹配更换文件名,发现rename命令真是 简单好用,和sed语法及vim 替换很相似. 1. 更改文件名后缀 rename 's/\.txt/\.html/' * 2.增加文件名后缀 rename 's/$/\.txt/' * 3.删除文件名后缀 rename 's/.txt//' * 4.模式匹配修改文件名 rename 's/A-Z/a-z/' or rename 's/(\d)/第$1章/' *

python windows下批量修改文件名

经常会下载一些资料和学习视频,往往这些资料名称很多,想批量修改又很不方便,刚好用python写一个修改文件名的小程序. windows下安装python这个就不多说了,直接下载安装程序安装即可.https://www.python.org/downloads/ 3.x 2.x 都可以 我这个程序,是利用正则表达式的方式,针对一些比较偏的文件名进行过滤修改.没有针对子目录修改,大家可以自己行加以利用修改. rename-input.py #!/usr/bin/env python #coding:

批量修改文件名 文件后缀

文件夹中新建文本,输入代码,更改文本后缀为.bat 要更改的文件与文本放在同一文件夹 双击运行 1.批量删除文件后缀名 ren *.png* *.png 去掉“.下载” 运行后 2.批量删除文件重复后缀名 ren *.png *. 运行后 3.批量删除文件名前n个字符 @echo offsetlocal enabledelayedexpansion ::批量去掉文件名前N个字符,如果有文件夹会搜索文件夹下的每个文件进行修改set /p format=What suffix filename to

linux下批量修改文件名

作者:iamlaosong 一批文件如下: 03003_anhui_20141206.dat  03005_anhui_20141208.dat  03014_anhui_20141210.dat 03003_anhui_20141207.dat  03005_anhui_20141209.dat  03014_anhui_20141211.dat 03003_anhui_20141208.dat  03005_anhui_20141210.dat  03015_anhui_20141206.d

Linux系统下如何修改主机名

Linux系统安装好后,都会有默认的主机名,这里以CentOS系统为例,默认的主机名为localhost.localdomain,为了便于使用,我们常常需要修改主机名,下面演示的是永久更改主机名的方法. 1  以根用户登录,或者登录后切换到根用户,然后在提示符下输入hostname命令,可以看出当前系统的主机名为localhost.localdomain. 2  更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOS

windows下批量修改文件名

全选,F2修改后, filename (1), filename (2), ..... 用此bat修改为filename1, filename2, ... @Echo Off&SetLocal ENABLEDELAYEDEXPANSION FOR %%a in (*) do ( set "name=%%a" set "name=!name: (=!" set "name=!name:)=!" ren "%%a" &qu