Linux批量修改指定层级文件夹名字以及替换命令

RT, 比如我在根目录有文件ooo, 其地下有xxx1, xxx2, xxx3, xxx4....xxxn文件夹, 这些子文件地下都有一个固定的文件夹aaa, 我要实现在这些子文件夹下面的那个特定的目录aaa批量改名成我指定的字符bbb, 请问最高效的替换命令是什么.

还有替换命令, 一般我用sed -i "s/xxx/ooo/g" `grep ooo -rl /home/www/` 替换自定目录下的所有文件的字符串, 但是要是指定目录的文件非常多, 这个执行效率非常低, 请问有什么高效的方法, 或者怎么排除一些不需要替换的文件

第1个回答  2013-09-03
在root目录下 find /root/ooo/* -name aaa |xargs rename aaa bbb


追问

你好, 用了这个命令不行, 可能是我表达不是很清楚, 是这样的: 现有目录/home/www, 在www底下有网站文件夹1, 2, 3, 4,...n, 每个文件夹是一个网站, 其底下都有个共同的目录名称为aaa, 现在要实现的是 批量把1,2,3,4,....n目录底下都有的文件夹aaa, 把它的文件夹名从aaa改成bbb, 只改文件夹名称, 不对其它文件进行操作.

追答

那你进入到www下面呗!等等我把今天的作业搞完先。完了给你发测试截图;先给你命令吧
find /home/www/* -type d -name aaa |xargs rename aaa bbb
OK !

本回答被提问者采纳
第2个回答  2013-09-03
在root目录下 find /root/ooo/* -name aaa |xargs rename aaa bbb


追问

你好, 用了这个命令不行, 可能是我表达不是很清楚, 是这样的: 现有目录/home/www, 在www底下有网站文件夹1, 2, 3, 4,...n, 每个文件夹是一个网站, 其底下都有个共同的目录名称为aaa, 现在要实现的是 批量把1,2,3,4,....n目录底下都有的文件夹aaa, 把它的文件夹名从aaa改成bbb, 只改文件夹名称, 不对其它文件进行操作.

追答

那你进入到www下面呗!等等我把今天的作业搞完先。完了给你发测试截图;先给你命令吧
find /home/www/* -type d -name aaa |xargs rename aaa bbb
OK !

本回答被提问者采纳
相似回答