linux 修改当前目录包含子目录 下 aaa 开头的目录名及文件名 替换为 bbb开头目录名及文件名?

网上找到这个find.-typef-name'*.JPG'-execrename'JPG''jpg'{}\;修改了下find.-typef-name'aaa*'-exec... 网上找到这个 find . -type f -name '*.JPG' -exec rename 'JPG' 'jpg' {} \;
修改了下 find . -type f -name 'aaa* ' -exec rename ‘aaa’ ‘bbb’ {} \;
试了下,可行 谢谢各位的回答
展开
 我来答
kaixingui2012
推荐于2016-02-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6445万
展开全部

用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?? ) *匹配多字符, ?匹配单字符

Storm代理
2023-07-25 广告
StormProxies是一家提供动态住宅IP的服务商。动态住宅IP可以为用户提供更加灵活和稳定的网络连接,同时也可以用于一些特定的网络应用场景,例如网络游戏、视频直播等。使用StormProxies的动态住宅IP服务,用户可以通过更换IP... 点击进入详情页
本回答由Storm代理提供
xujie520520
推荐于2017-12-15 · TA获得超过397个赞
知道小有建树答主
回答量:320
采纳率:100%
帮助的人:244万
展开全部
这个简单的命令完成不了。用脚本或者是c/c++写个小程序。
首先将当前目录及其子目录和所有文件取出来,然后循环去匹配是否以aaa开头,如果是以aaa开头的则将aaa替换成bbb,后面部分不变。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
度娘v
2012-10-12
知道答主
回答量:16
采纳率:0%
帮助的人:6.1万
展开全部
mv aaa bbb
OK?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Google也知道
2012-10-12 · TA获得超过755个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:193万
展开全部
mv aaa bbb
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式