推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 门户 你问我答 查看内容

刘景一:linux 修改当前目录包含子目录 下 aaa 开头的目录名及文件名 替换为 bbb开头 ...

2020-8-12 16:57| 发布者: admin| 查看: 130| 评论: 0

摘要: 李博雅的回答: 用find+exec命令结合rename命令可实现文件名“部分替换” 因为存有目录的替换,目录替换后,就无法继续搜索原目录了,所以,需要多次执行才能完成所有目录的替换。 while? do ????find?.?-name?aaa*? ...

李博雅的回答:

用find+exec命令结合rename命令可实现文件名“部分替换” 因为存有目录的替换,目录替换后,就无法继续搜索原目录了,所以,需要多次执行才能完成所有目录的替换。 while?[?1?] do ????find?.?-name?"aaa*"?-exec?rename?aaa?bbb?{}?\; ????if?[?$??-eq?0?]??#如果替换中有错误,则上面命令执行结果会返回非0 ????then ????????break; ????fi done #注意,此命令缺陷是,当同一目录下,有aaa123文件,也有bbb123文件,则原bbb123文件将会被aaa123所覆盖!!rename命令格式说明: rename?from?to?file...第一个参数from:被替换掉的字符串 第二个参数to:替换成的字符串 第三个参数file:匹配要替换的文件模式 ? ?可以是单文件,也可以是匹配模式(多文件,如aaa* ? aaa? ? aaa?? ) *匹配多字符, ?匹配单字符

黄徽的回答:

用find+exec命令结合rename命令可实现文件名“部分替换” 因为存有目录的替换,目录替换后,就无法继续搜索原目录了,所以,需要多次执行才能完成所有目录的替换。 while?[?1?] do ????find?.?-name?"aaa*"?-exec?rename?aaa?bbb?{}?\; ????if?[?$??-eq?0?]??#如果替换中有错误,则上面命令执行结果会返回非0 ????then ????????break; ????fi done #注意,此命令缺陷是,当同一目录下,有aaa123文件,也有bbb123文件,则原bbb123文件将会被aaa123所覆盖!!rename命令格式说明: rename?from?to?file...第一个参数from:被替换掉的字符串 第二个参数to:替换成的字符串 第三个参数file:匹配要替换的文件模式 ? ?可以是单文件,也可以是匹配模式(多文件,如aaa* ? aaa? ? aaa?? ) *匹配多字符, ?匹配单字符

高欣的回答:

这个简单的命令完成不了。用脚本或者是c/c++写个小程序。 首先将当前目录及其子目录和所有文件取出来,然后循环去匹配是否以aaa开头,如果是以aaa开头的则将aaa替换成bbb,后面部分不变。

郑博文的回答:

mv aaa bbb OK?

张晓阳的回答:

mv aaa bbb


鲜花

握手

雷人

路过

鸡蛋

最新评论

热门推荐
最新资讯

广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图 | 邮箱:vayae@hotmail.com

GMT+8, 2025-5-1 20:37 , Processed in 0.060435 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部