linux下重命名文件有两种方式:
1.较简单的处理命令:mv
mv
原文件名
新文件名
如:mv myFile newName
将MyFile重命名为newName
2.linux提供了一个重命名文件命令:rename
如:rename
myFile
newName
myFile.text
将myFile.text重命名为newName.text
3.有时想要改变文件名的大小写,你可以使用下面的命令。
linux的文件重命名常用的是mv命令和rename命令,具体重命名的操作步骤如下:
1、首先我们打开一个虚拟机。
2、进入终端命令界面,先用“cd”命令进入文件所在文件夹中。
3、可以先创建一个文件(”touch“),再“ls”一下发现成功创建了一个“old.txt”文件。
4、输入命令:mv 修改前文件名 修改后文件名,按回车。
5、输入命令“ls”,可以看到文件重命名为新的了。
查看/home下所有子目录的ok.txt并修改成OK.txt
linux 批量重名名
Linux Shell 批量重命名的方法总览
1、删除所有的 .bak 后缀:
2、把 .jpe 文件后缀修改为 .jpg:
3、把所有文件的文件名改为小写:
4、将 abcd.jpg 重命名为 abcd_efg.jpg:
5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:
6、把文件名中所有小写字母改为大写字母:
7、把格式 *_.jpg 的文件改为 *_0.jpg:
8、把文件名的前三个字母变为 vzomik:
9、把文件名的后四个字母变为 vzomik:
linux 给文件改名的命令是mv命令
mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。命令详细介绍可参考 Linux命令大全
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、其次,在linux命令行中输入:rename 1.txt 2.txt 1.txt,即可将1.txt重命名为2.txt。
3、接着,输入:vi 2.txt。
4、最后,按下回车,此时成功进到文件的vi编辑模式中,可对文件进行编辑。
Linux下修改文件名有mv和rename。其中mv命令只能对单个文件重命名,这是mv命令和rename命令的在重命名方面的根本区别。
linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法:
输入man rename 看到第一行是:
RENAME(1) Linux Programmer’s Manual RENAME(1)
这个就是C语言版本的
而如果出现:
RENAME(1) Perl Programmers Reference Guide RENAME(1) 则是Perl版本的了
C语言版本格式:rename 原字符串 新字符串 文件名
Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名
rename支持正则表达式
例子:
字母的替换 rename "s/AA/aa/" * // 把文件名中的AA替换成aa
修改文件的后缀 rename "s//.html//.php/" * // 把.html 后缀的改成 .php后缀
批量添加文件后缀 rename "s/$//.txt/" * // 把所有的文件名都以txt结尾
批量删除文件名 rename "s//.txt//" * // 把所有以.txt结尾的文件名的.txt删掉
1、通过sed替换
[root@node01 wolf]# find / -type f -name wolf.log
/wolf.log
/tmp/wolf.log
/root/wolf/wolf.log
[root@node01 wolf]# sed -i 's#wolf#yujing#g' find / -type f -name wolf.log
[root@node01 wolf]# find / -type f -name "wolf.log" | xargs cat
yujing
yujing
yujing
[root@node01 wolf]#
2、通过变量子串替换
vi laolang.log
wolf_20170806_1_wolf.jpg
wolf_20170806_2_wolf.jpg
wolf_20170806_3_wolf.jpg
wolf_20170806_4_wolf.jpg
wolf_20170806_5_wolf.jpg
wolf_20170806_6_wolf.jpg
wolf_20170806_7_wolf.jpg
wolf_20170806_8_wolf.jpg
wolf_20170806_9_wolf.jpg
wolf_20170806_10_wolf.jpg
[root@node01 data]# touch cat laolang.log |tr "\n" " "
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
[root@node01 data]# f=wolf_20170806_10_wolf.jpg
[root@node01 data]# echo $f
wolf_20170806_10_wolf.jpg
[root@node01 data]# echo ${f%wolf*.jpg}
wolf_20170806_10_
[root@node01 data]# mv $f echo ${f%wolf*.jpg}.jpg
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
[root@node01 data]# for f in ls *wolf.jpg ;do mv $f echo ${f%wolf*.jpg}.jpg;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg
3、修改扩展名
把上面的jpg更换为log
[root@node01 data]# f=wolf_20170806_10_.jpg
[root@node01 data]# echo ${f/%jpg/log}
wolf_20170806_10_.log
[root@node01 data]# mv $f ${f/%jpg/log}
[root@node01 data]# ls
apache-maven-3.3.9 day1 laolang.log wolf_20170806_2_.jpg wolf_20170806_5_.jpg wolf_20170806_8_.jpg
apache-maven-3.3.9-bin.tar.gz day2 wolf_20170806_10_.log wolf_20170806_3_.jpg wolf_20170806_6_.jpg wolf_20170806_9_.jpg
cat day3 wolf_20170806_1_.jpg wolf_20170806_4_.jpg wolf_20170806_7_.jpg
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg
[root@node01 data]# for f in ls *.jpg ;do mv $f ${f/%jpg/log} ;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.log
就是本次分享的全部内容,现在想要学习的程序员欢迎关注六星社区,获取更多技能与教程。
rename abcdefg abc
Linux中修改文件名,很多人甚至很多Linux书会介绍说用mv命令,其实是mv只能修改单个目标的名称,真正修改文件名还是和windows一样,使用rename,而且rename自带非常实用的批量改名功能。
先说mv修改文件名或文件夹的用法:
mv 需要修改的名称 修改后的名称
mv用于改名的用法很简单,只能用于单个目标。
下面介绍rename的使用方法。假如有foo1 foo2 foo3.到foo99的文件,如果想把数字部分都改为2个字符等宽,只需要把1位数字1、2、3.到9改为01、02、03.到09,使用mv就无法实现了,如果使用rename,输入下面命令即可:
rename foo foo0 foo
其中代表一个字符。除了问号,通配符还有*,代表任意字符,如:
rename .htm .html *.htm
上面命令将把*.htm文件改为*.html。
补充:如果只用于单个文件名的修改,使用方法和mv一样,可以省略第三个参数。
linux重命名文件和文件夹可以使用mv命令来实现。
mv命令:
Linux mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。
实例:
比如:before.txt是修改之前的文件名,after.txt是准备修改的文件名。
命令为:
注意:如果当前目录下也有个after.txt的文件的话,我们的这个文件是会将它覆盖的。
mv命令也可以移动文件和文件夹,例如将/a目录移动到/b下,并重命名为c。
命令为:
Linux中修改文件名使用mv命令,它可以将源文件重命名为目标文件,或将源文件移动至指定目录。
1、mv命令的用法
mv [选项]. [-T] 源文件 目标文件
或:mv [选项]. 源文件. 目录
或:mv [选项]. -t 目录 源文件.
2、比如在当前目录下有个test.txt的文件 ,要修改文件名为good.txt,则可以执行
mv test.txt good.txt
3、常用参数说明:
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
今天的内容先分享到这里了,读完本文《(linux修改文件名)linux下怎么样重命名文件》之后,是否是您想找的答案呢?想要了解更多,敬请关注www.qixingcap.cn,您的关注是给小编最大的鼓励。
Copyright © 2021-2022 七星号-(www.ccd-17.com) 版权所有