免费注册 查看新帖 |

Chinaunix

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

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC' [复制链接]

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵节徽章
日期:2015-03-06 15:50:39IT运维版块每日发帖之星
日期:2016-01-11 06:20:00IT运维版块每日发帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-17 12:39 |只看该作者 |倒序浏览
如何把一个目录下所有文件只要包含字符窜‘abc'就全程替换成'ABC'

论坛徽章:
0
2 [报告]
发表于 2003-03-17 13:09 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

试试以下命令吧:
  1. find . -name "*.*" -print|xargs grep abc|sed 's/abc/ABC/'
复制代码

论坛徽章:
0
3 [报告]
发表于 2003-03-17 13:58 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

  1. for FILE in `find . -type f -exec grep abc {} \;`
  2. do
  3. vi $FILE <<END_OF_VI
  4. :%s/abc/ABC/g
  5. :x
  6. END_OF_VI
  7. done
复制代码

论坛徽章:
0
4 [报告]
发表于 2003-03-18 16:07 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

[quote]原帖由 "ncwyj"][/quote 发表:

很好!!请问xargs怎么用,谢谢了!!

论坛徽章:
0
5 [报告]
发表于 2003-03-18 19:58 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

用下面的方法,先建立change文件,放在/bin下,并赋予执行权,可以当做系统命令使用,其功能为根据命令行参数修改文件内容。然后使用下列命令行即可完成你的任务。(注意这种用法是修改本极目录及其所有子目录下的所有文件,特别要注意选择命令行参数,限定所要修改文件范围)。
find yourdir -type f -exec change {} abc ABC \;
附change的代码

  1. change的代码
  2. #!/bin/sh
  3. if [ $# -eq 3 ]
  4. then
  5. if [ -s $1 ];then
  6. ed - $1<<!
  7. g/$2/s//$3/g
  8. w
  9. q
  10. !
  11. fi
  12. else
  13. echo Ussage:$0 filename SourceStr TargetStr
  14. fi
复制代码

需要注意的是change中从ed到!共5行一定要顶头输入(前边不能有任何字符或空格),否则将无法执行。

论坛徽章:
0
6 [报告]
发表于 2003-03-26 15:31 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

sed '/s/abc/ABC/g' filename

论坛徽章:
0
7 [报告]
发表于 2003-03-26 15:33 |只看该作者

如何把一个目录下所有文件包含字符窜‘abc'全程替换成'ABC'

g 可以去掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP