我在成长

linux命令实例-文件处理类

上一篇 / 下一篇  2010-01-12 11:42:43 / 个人分类:个人日记

一、批量替换文件中的固定字符串

使用find命令,查找出目标文件,然后管道使用perl命令进行处理

exmp:新建文件vi wxy.txt 编辑文件包括123 123abc 45346123 等内容

     希望将文件中的123全部替换为weixiaoyeah

     命令行: find -name '目标文件名wxy.txt'|xargs perl -pi -e 's|被替换字符串123|替换字符串weixiaoyeah|g'

     执行结果,查看文件 less wxy.txt 结果显示 weixiaoyeah weixiaoyeabc 4534weixiaoyeah

注释:* xargs的使用

     在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。(摘抄于http://www.linuxsir.org/main/?q=node/137)

     * perl的使用

      一不小心用了一种语言,这个还需要研究一下再写出来,其实使用上和sed awk是有一些相似的。

 

       

 

 


TAG: Linux

weixiaoyeah的个人空间 引用 删除 weixiaoyeah   /   2010-07-19 18:20:27
原帖由xyzwh于2010-07-19 14:38:04发表
对Perl命令的使用不懂,学习了,谢谢楼主分享


其实说实话我老是觉得linux的一些操作,我都是在测试过程中想偷懒,找个省事儿的方式处理日志或者处理测试结果,用用发现其实很好用,平时有时间确实可以自己积累一下,这样用的时候会很方便 :0)
xyzwh的个人空间 引用 删除 xyzwh   /   2010-07-19 14:38:04
对Perl命令的使用不懂,学习了,谢谢楼主分享
baby.forward的个人空间 引用 删除 baby.forward   /   2010-01-13 11:47:42
不错,收藏啦,哇哈哈
 

评分:0

我来说两句

日历

« 2024-03-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 47769
  • 日志数: 34
  • 图片数: 1
  • 书签数: 4
  • 建立时间: 2010-01-12
  • 更新时间: 2012-03-24

RSS订阅

Open Toolbar