linux批量修改文件名linux批量修改
linux文件夹下批量改名最佳方法?
linux文件夹下批量改名按以下方法为最佳:
1、在Linux系统上打开终端;
?2、使用rename命令;
from表示需要替换或者处理的字符,比如文件的扩展名,文件名.
to表示对from处理之后的结果。
file表示目标文件。
?3、使用rename将文件后缀名.log改为.jpg或其他即可。
多个linux服务器批量更改nginx配置文件并且立即生效的办法?
如果不会用salt或者ansible的话,最简单的方法是找一台发布机器,将这台机器的公钥放在其他服务器中,然后就可以执行脚本了foriin{iplist};doscpnginx.conf$i:/nginxdirssh$i"nginx-sreload";done确保配置正确,不然报错,可在中间加上nginx-t验证
linux批量替换文件夹名,文件名,文件内容命令
1.批量改名采用命令rename
rename语法:
rename [-v ] [-n ] [-f ] perlexpr [ files ]
-v表示显示详细信息,-n表示不实际执行替换,只是看哪些文件会受影响。-f表示强制,不管是否有重名。
perlexpr是perl语法的表达式, files则是匹配项。因此,该命令执行结果与perlexpr有关,不一定就是改文件名。
实例:将所有文件名*.html改为对应的.htm
rename's//.html$//.htm$/'*.html
去bak后缀
rename's//.bak$//'*.bak
将文件名大写改为小写
rename'y/A-Z/a-z/'*
但rename不能递归修改。
2.递归改名,用find+rename
将文件名的abc改为xyz
find.-name"abc*"-exec rename's/abc/xyz/'{}/;
该命令可以将当前目录下所有子目录的文件都改名。
3.内容替换,用find+sed
将所有ablo替换为ablozhou
find.-type f-exec sed-i-e"s/ablo/ablozhou/g"{}/;
sed命令-i表示--in-place,文件原地替换。-e后跟替换表达式
windows与linux下 如何批量更改文件名
提供一个在Linux下使用Shell脚本来批量改名的方法,我很久不用Windows系统了,所以只有Linux下的方法。
我这边在Linux下的测试过程是下面这样的:
「0」提醒:在终端terminal中,第一步就是把当前目录切换到文件所在目录,用cd命令。
「1」新建文件夹,起名为「rename_by_source」,用来放置「改名前的文件」、「shell脚本文件」、「文件名对应文件」,以及保存「改名后的文件」。你在自己电脑上操作时,也建议你把下载下来的需要改名的文件放到一个单独的文件夹里,这样容易查看一些。
「2」我新建的「rename_by_source」文件夹中,根据你给的文件名对应表,新建了4个「改名前的文件」,它们是空白文件,只是有个文件名而已,估计文件类型是mp3文件,所以后缀名是.mp3,如果你的文件不是mp3类型的话,请届时自行在shell脚本文件里更改相关的代码行。
「3」在文件夹中,新建了「source_name.txt」文件,用来放置(改名前)与(改名后)的对应文件名,跟你给的图片一样,也是一行对应一个文件的,只把ren那一列删除了。如果你要直接使用下面提供的shell脚本的话,也请把你的文件名对应文件中的ren那一列删除,并且「数字」名的前面不要有空格或其它字符。你的文件名对应文件也请保存为「source_name.txt」这个名称和格式的文件。
「4」shell脚本文件「rename_by_source.sh」,内容如下:
#!/bin/bashcat source_name.txt| while read LINEdo ori_name=${LINE:0:7}; des_name=${LINE:8}; cp"${ori_name}.mp3""${des_name}.mp3";done解释一下,第3句是逐行读取source_name.txt的内容,并赋值给变量LINE,第5句是把该行的第1至第8个字符作为原始文件名,第6句是把该行的第9至末尾的字符串作为新文件名,第7句是在当前文件夹下「复制」(原始文件名.mp3)文件并重命名为(新文件名.mp3)文件。
之所以采用「复制」而不是「移动」命令,主要还是希望避免误操作。
「5」在前面的文件夹中,新建并保存上述shell脚本文件,然后在终端terminal里赋予此shell脚本文件的可执行权限,反正也没有什么关系,我是直接改为了777权限:
sudo chmod 777 rename_by_source.sh「6」在终端中,在当前文件夹下运行上述shell脚本文件:
./rename_by_source.sh完成。
下面是我这里的测试截图,
搞定。
上述shell脚本及演示文件等,已放入百度网盘,链接:「1F-3Mc2n5-8a4QSCNAVpDfg」,提取码:「82jd」,请自取,有效期7天!(链接的前面部分,请自行补充。)
如有帮助,烦请采纳,谢谢!