问题:
今天在服务器下载百度网盘的学习资源上传到谷歌云盘,发现一些资源的文件名有网站名称广告
解决方法
1.CentOS默认是C版本,Perl版本是 prename命令,需安装
sudo yum install prename
2.举例用法
例:1.1用于重命名当前目录下的所有文件夹名或文件名
cd /book #要命名文件夹book下的当前目录所有文件夹名或文件名 prename 's/1?/2/' * #当前目录下文件夹名或文件名含有1的都会替换为2
例:1.2用于重命名当前目录下的所有子目录的所有文件
cd /book #要命名文件夹book下的当前所有子目录的所有文件夹名或文件名 prename 's/1?/2/' */* #文件夹book下的当前所有子目录的文件夹名或文件名含有1的都会替换为2
例:1.3用于重命名当前目录下的所有子目录的所有.mp4文件,添加www后缀,效果为:学习www.mp4
cd /book #要命名文件夹book下的当前所有子目录的所有文件 prename's/\.mp4$/badu\.mp4/' */* #文件夹book下的当前所有子目录的所有所有.mp4文件,添加www后缀
我用的就是例子1.2的命名,去掉广告
prename -v 's/广告?//' */* #-v显示运行状态,所有文件或文件夹去掉广告名
只去掉.mp4文件的广告名称
prename -v 's/广告?//' */* .mp4 #-v显示运行状态,所有.mp4文件名去掉广告名
总结:使用正则表达式可以实现多种功能
参考
https://www.cnblogs.com/yinyunmoyi/p/12537350.html
https://www.cnblogs.com/liujiacai/p/8313548.html