免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2589 | 回复: 12
打印 上一主题 下一主题

请问有无法直接把find 出的文件直接改里面的字符串?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-01 14:11 |只看该作者 |倒序浏览
shell 有无办法做到此功能??

我要寻找一个数据夹中所有的php文件,但很多php文件内都有包含一个字符串
如: 1234567  我想把搜寻到内包含有此串文字的文件直接修改内容成 abcdefg

但我只会找出内包含的
grep 1234567 `find /资料夹 -name *.php`

但无法直接改,请问有无法直接把find 出的文件直接改里面的字符串。

论坛徽章:
0
2 [报告]
发表于 2010-06-01 14:17 |只看该作者
本帖最后由 where27 于 2010-06-01 14:24 编辑

find /资料夹 -name "*.php" -exec sed -i 's/1234567/abcdefg/g' {} \;

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
3 [报告]
发表于 2010-06-01 14:19 |只看该作者
find / -name "*.php"|xargs sed –i ‘s/A/B/g’自己改改哈。

论坛徽章:
0
4 [报告]
发表于 2010-06-01 14:20 |只看该作者
find /资料夹 -name *.php -exec sed -i 's/1234567/abcdefg/g' {} \;
where27 发表于 2010-06-01 14:17

可是这样不是只有暂时更改,还须Redirect   A.php > B.php
文件才是真的有改过吗??

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
5 [报告]
发表于 2010-06-01 14:22 |只看该作者


sed -i已经是写入了,无语了。。。

2分走人!!!

论坛徽章:
0
6 [报告]
发表于 2010-06-01 14:26 |只看该作者
find / -name "*.php"|xargs sed –i ‘s/A/B/g’自己改改哈。
expert1 发表于 2010-06-01 14:19




感谢~~太感谢了~~
可以耶~~~要哭了
thanks..........

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
7 [报告]
发表于 2010-06-01 14:28 |只看该作者
回复 6# Demon


    晕倒在地!!!!!!!

论坛徽章:
0
8 [报告]
发表于 2010-06-01 14:30 |只看该作者
刚才man 了一下sed
       -i[SUFFIX], --in-place[=SUFFIX]
         edit files in place (makes backup if extension supplied)

不好意思,小弟太懒惰了~~没看man就来问~~~
再次谢谢两位

论坛徽章:
0
9 [报告]
发表于 2010-06-01 15:11 |只看该作者
楼主不妨试试这个
perl -p -i.bak -w -e 's/1234567/abcdefg/g' *.php

论坛徽章:
0
10 [报告]
发表于 2010-06-01 15:15 |只看该作者
find ./ -name "*.php" | xargs sed -i 's/1234567/abcdefg/g'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP