Chinaunix

标题: A script [打印本页]

作者: 寂寞烈火    时间: 2004-11-21 01:07
标题: A script

  1. #!/bin/ksh
  2. for line in $(grep -rl oldstring /pathdir/*);do
  3. ed $line<<!
  4. 1,$ s/oldstring/newstring/
  5. .
  6. w
  7. !
  8. done
复制代码

玩了玩ed,感觉不错   用ed可以直接来修改文件,而不需要重定向啦,但是,只对比较简单的替换/删除有效
作者: hb12112    时间: 2004-11-21 18:13
标题: A script
k shell没用过,帮你帮一下哈~!
作者: 寂寞烈火    时间: 2004-11-21 22:02
标题: A script
[quote]原帖由 "hb12112"]k shell没用过,帮你帮一下哈~![/quote 发表:

呵呵,习惯ksh了,...bash一样可以通过的
作者: panlm    时间: 2004-11-22 00:50
标题: A script
[quote]原帖由 "寂寞烈火"]玩了玩ed,感觉不错   用ed可以直接来修改文件,而不需要重定向啦,但是,只对比较简单的替换/删除有效 [/quote 发表:


vi也可以类似用法 :)
作者: 寂寞烈火    时间: 2004-11-22 01:02
标题: A script
原帖由 "panlm" 发表:


vi也可以类似用法 :)

是的,大概是这样

  1. vim -e -s -c ":%s/old/new/g" -c ":wq" $(grep -rl 'old' /pathdir/*)
复制代码

作者: ificanfly    时间: 2004-11-22 21:46
标题: A script
原帖由 "panlm" 发表:


vi也可以类似用法 :)

ed是行编辑器
vi是全屏编辑器.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2