-
2022-03-27 14:02:26
使用mv a b 就可以重命名了
// mv:move移动文件(延伸功能:重命名。linux系统没有专门的重命名命名) // 基本格式 mv filename newname
转载至:https://blog.csdn.net/id19870510/article/details/5701227
更多相关内容 -
Linux 更改文件名
2018-11-09 12:36:05Linux 更改文件名分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
没有专门的重命名 命令
用 mv a b 就可以重命名了
=========================================
mv :move 移动文件(延伸功能:重命名,linux系统没有专门的重命名命令)基本格式:
移动文件:mv 文件名 移动目的地文件名
重命名文件:mv 文件名 修改后的文件名给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
-
linux修改文件名你肯定不知道可以这样操作
2021-05-09 00:08:10在Linux环境下修改文件名可以有不同的命令方式,比如rename、mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法。对于单个的文件,可以直接使用命令,那...在Linux环境下修改文件名可以有不同的命令方式,比如rename、mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法。
对于单个的文件,可以直接使用命令,那如果有大量的类似格式的文件名需要修改成其他格式的,该如何呢?
比如某次测试后,保存的文件为 Lan1.txt,Lan2.txt,……Lan100.txt
这一百个文件需要在前面添加前缀变成类似 ch7_Lan1.txt,如果你还想使用mv来一个一个多痛苦啊。
当前文件夹下,文件修改有四种方式:
1、使用while Loop加${//}来实现Lan到ch7_Lan的替换。find . -name "Lan*txt" -type f | read filesdonew=mvdone
2、充分利用awk的分隔符功能来实现:ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh
首先,修改FS和OFS,输入和输出的分隔符。
其次,使用awk中的命令,拼接“mv Lan1.txt ch7_Lan1.txt”这条命令。
最后,使用|sh来执行一个shell命令来完成mv动作。
其中,$1=$1是必须的,这个是完成Lan===>ch7_Lan的关键(其实是可以使用$2=$2等来替换,只要一个赋值动作而已)
奇怪的是,难道没有赋值动作,分隔符的改变就不能检测出来么?
3、使用awk的内置命令,gsub和system来实现替换和命令执行。ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'
首先保存原始的数据。
其次修改 Lan为 ch_Lan
最后执行mv动作
其中,最后system命令"mv "org""需要使用""来标记。
而且org也需要"",并且不能使用$org
1、对于awk命令中的变量,不需要用$来引用。
2、在system()中,变量需要使用""来标识,否则就被当成字符串来处理。
3、如果对变量进行$来进行引用,就会出现两种情况:
3.1、正常情况下,可以被当成位置参数来引用。比如 NF表示当前行的记录个数。比如echo "a b c d" | awk '{print NF, $NF}',这个会打印两个变量,第一个是NF本身,其值为4;第二个是第四个位置参数,也就是$4,也就是d
3.2、非正常情况下:
3.2.1、如果变量本身就是个字符串。比如echo "a b c d" | awk '{va=“varA“;print va, $va}',因为后一个参数$va,由于va是个字符串,因此$va打印的就是$0
3.2.2、如果变量本身就是个数字,但是该值大于NF。 比如echo "a b c d" | awk '{va="varA";vb=6;print va, $va, vb, $vb, 1}',因为$vb相当于是$6,但是位置参数$6没有,因此打印的就是个空字符。[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{print NF, }'4 d[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";print va, }'varA a b c d[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";vb=6;print va, , vb, , 1}'varA a b c d 61
4、使用sed中的s来进行替换,然后使用e命令来执行:[martin@TSPerPacketsTest]$ ls *Lan* | sed -r -n 's/(.*)Lan(.*)/mv & \1ch_Lan\2/e'
关于sed的选项,使用 -r和 -n
-r 来启用后续可以使用 command,比如 mv
-n 来关闭 patten space中内容的显示。
关于sed的 command,使用e。如此在使用s命令完成 pattern space中 Lan到 ch7_Lan的修改后,启动shell来执行 pattern space中的 mv指令。
如果这里使用 p,标记仅仅显示 pattern space中的指令而已。
如果对于某目录下的所有文件,进行文件名修改,有两种方式:
1、汇集awk的 FS/OFS和 gsub/system来实现。有点类似于综合上述2,3两种方式。[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk 'BEGIN{FS="/";OFS="/"}{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'
为了实现所有目录下的文件名进行修改,但是又不影响路径上文件夹名。
首先,标记FS和OFS都为"/"。
其次,使用gsub时候,指定仅仅修改当前行中最后一个记录,使用$NF来指定。
当然,对于FS和OFS的指定,可以不放置在 BEGIN中实现,比如:[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -vF=/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -F/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'
2、或者使用 sed。[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | sed -r -n 's/(.*)([^\/]*)Lan([^\/]*)$/mv & \1\2ch7_Lan\3/e'
其中的各个 option和 command参数,上述都已经有介绍了。
这里,针对文件夹名和文件名,使用了简单的sed内置的正则表达式来进行匹配而已,来实现仅仅对文件名的修改。
以上步骤在Linux修改文件名以及批量修改文件名的实现方式,是在shell中使用find、exec、xargs、mv命令组合批量替换文件名中的字符串。
-
linux中批量修改文件名的脚本代码
2020-09-15 22:46:03linux中批量修改文件名的脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 -
Linux修改文件名(修改主机名)
2019-03-15 16:17:32本次使用的是CentOS7.3版本和mysql5.7的版本。 永久修改: 1、hostname set-hostname <主机名> 例如: ...hostnamectl set-hostname ...3、重启Linux:reboot -f 上面两种修改其实是一样的,只是操作不一...本次使用的是CentOS7.3版本和mysql5.7的版本。
永久修改:
1、hostname set-hostname <主机名>
例如:
hostnamectl set-hostname jimmy
2、vi /etc/hostname
直接在里面写上主机名保存退出,
3、重启Linux:reboot -f
上面两种修改其实是一样的,只是操作不一样。1其实就是修改了2的配置文件。
-
Linux中修改文件名
2021-07-05 18:00:28Linux中修改文件名 # 没有直接修改的方式,需要借用mv或cp命令。 # mv会把原路径文件删除(移动文件) # 参数1:原文件路径 参数2:新文件路径 mv oldFilePath newFilePath # cp不会删除原文件(复制文件) # 参数... -
Linux修改文件名(mv和rename)
2020-09-27 18:13:51rename命令支持批量修改文件名 1、批量更改目录下所有文件的后缀名。 命令格式如:rename 's/\.c/\.cpp/' * 2、批量把目录下所有文件名包含大写部分修改为小写。 命令格式:rename 'y/A-Z/a-z/' *(反着写就是... -
linux修改文件名常用命令
2019-09-28 17:05:20把当前目录下的file1文件名改成file2,如果该目录下有file2,则覆盖以前的file2文件。 二、rename命令 1、rename命令批量修改 rename DUS1 DUS2 * 把所有DUS1结尾或者开头的文件修改为DUS2 ... -
linux 修改文件名.docx
2021-09-26 23:32:11linux 修改文件名.docx -
Linux 修改文件名
2019-12-06 18:48:57使用 mv a b 就可以重命名了 mv:move移动文件(延伸功能...重命名文件:mv 文件名 修改后的文件名 // mv:move移动文件(延伸功能:重命名。linux系统没有专门的重命名命名) // 基本格式 mv filename newname ... -
Linux文件名字批量修改步骤 Linux修改文件名的方法
2021-05-08 21:37:38在Linux环境下修改文件名可以有不同的命令方式,比如rename、mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法。对于单个的文件,可以直接使用命令,那... -
rename:Linux 批量修改文件名命令,支持正则表达式
2021-05-10 01:34:59昨天有需要要用到 Linux 批量改文件名,网上查了下,...rename 可以批量修改文件名,还支持正则表达式。这样就简单多了嘛,正则表达式写起来还是简单的,而且看一下示例就会了。直接输入 rename 回车即可看到帮助... -
linux 批量修改文件名中间,Linux中批量修改文件名
2021-05-16 00:31:17Linux中批量修改文件名有时候我们有一个目录下面的文件名都需要重新命令如: 以下有十个学生完成的脚本,现在需要将finish改为ing[root@slavetest]#touchstudent_{01..10}_finish.sh[root@slavetest]#lsstudent_*... -
linux修改文件名
2019-01-15 11:00:31mv file1 file2 把当前目录下的file1文件名改成file2,如果该目录下有file2,则覆盖以前的file2文件。 -
Linux文件的时间及修改命令touch-linux修改文件名
2021-05-12 11:34:29Linux文件的时间及修改命令touchLinux系统中的文件主要有三个时间参数,他们分别是修改时间(modification time,mtime)、状态时间(status time,ctime)、访问时间(access time,atime),具体含义如下:⑴修改时间... -
Linux下使用mv命令移动及修改文件及目录名-linux修改文件名
2020-12-19 17:10:00mv(move)命令既可以在不同的文件之间移动文件和目录,也可以重新命名文件和目录。mv命令不影响被移动或改名的文件或目录中的内容。...还可以使用mv命令改变一个文件的文件名,例如:将baby子目录中的l... -
Linux批量修改文件名
2021-10-24 15:44:32例如:在工作中经常会遇到要在linux系统下,批量修改目录里文件名的需求,很多人习惯一个文件一个文件的修改,这里就是帮忙解决批量修改文件名的问题,也提醒大家遇到问题多搜一搜解决办法 提示:下面案例可供参考 ... -
linux命令修改文件名_修改文件夹名字怎么操作
2021-05-10 14:36:21在Linux下可以用rename命令,当然还可以使用mv命令如下:Linux修改文件名语句:mv oldFileName newFileName示例:我想把 aaa.txt修改为 bbb.txt示例语句:mv aaa.txt bbb.txt把当前目录下的file1文件名改成file2,... -
笔者为您linux修改文件名【搞定思路】
2021-05-16 03:33:41有些用户发现linux修改文件名【搞定思路】的问题,不知道是怎么回事,如今还有很多用户不知道如何处理linux修改文件名【搞定思路】的情况,因此我就在电脑上汇集整顿出linux修改文件名【搞定思路】的少许解决办法,... -
Linux shell利用sed如何批量更改文件名详解
2021-01-10 04:41:34本文主要给大家介绍了关于Linux shell用sed批量更改文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 示例 去除特定字符 目标:将 2017-01-01.jpg、2018-01-01.jpg 改为 ... -
linux shell rename命令修改文件名
2021-05-16 10:15:221.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了比如把所有的表为cdb1_* 修改为cdb_*的在本目录下只需要# rename 'cdb1' 'cdb' *以前都是写个for循环来做...... -
Linux 修改文件名、移动文件
2020-12-29 15:45:27把当前目录下的file1文件名改成file2,如果该目录下有file2,则覆盖以前的file2文件。 mv source_file(文件) dest_directory(目录) 将文件 source_file 移动到目标目录 dest_directory 中 mv source_directory(目录... -
Linux命令详解——文件和目录常用命令-linux修改文件名
2021-05-10 16:14:07切换目录 2.1 cdcd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一注意:Linux 所有的 目录 和 文件名 都是大小写敏感的 命令含义cd 切换到当前用户的主目录(/home/...