免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 31845 | 回复: 67

能把这段代码完全看懂,就可以说你掌握sed了 [复制链接]

论坛徽章:
0
发表于 2010-04-02 16:24 |显示全部楼层
本帖最后由 levinswong 于 2010-04-02 16:55 编辑

如题。代码出自sed & awk一书的高级sed命令一章。
  1. #!/bin/sh

  2. search=$1
  3. shift
  4. for file
  5. do
  6. sed '
  7. /'"$search"'/b
  8. N
  9. h
  10. s/.*\n//
  11. /'"$search"'/b
  12. g
  13. s/ *\n/ /
  14. /'"$search"'/{
  15. g
  16. b
  17. }
  18. g
  19. D' $file
  20. done
复制代码
对了,说下作用。
查找跨行的单词,简单的举个例子:
poem.txt
  1. Stray birds of summer come to my
  2. window to sing and fly away.
  3. Come to my window,baby!
复制代码
假如我要搜索my window 短语,使用grep只能显示Come to my window,baby!这行
如果使用这个脚本,便可以把Stray birds of summer come to my
window to sing and fly away.也显示出来。

论坛徽章:
0
发表于 2010-04-02 16:29 |显示全部楼层
看不懂,谢谢!

论坛徽章:
0
发表于 2010-04-02 16:30 |显示全部楼层
回复 2# 709101040516


    就不知道坚持一点啊~刚看几分钟就说。大拿看几分钟也不行啊

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
发表于 2010-04-02 16:34 |显示全部楼层
要低调,能看明白这个也别轻易说自己掌握sed了,顶多算个略懂吧。

论坛徽章:
0
发表于 2010-04-02 16:35 |显示全部楼层
能看懂的 能把每一句的意思 说出来吗?  还有脚本的作用呢?

论坛徽章:
0
发表于 2010-04-02 16:37 |显示全部楼层
回复 3# iori809


    说的没错啊,要坚持学习,不断学习才行啊
遇到难点去攻克它才能有明显的进步呀

论坛徽章:
0
发表于 2010-04-02 16:38 |显示全部楼层

论坛徽章:
0
发表于 2010-04-02 16:40 |显示全部楼层
回复 4# Shell_HAT


    如果说能看懂这个段代码只算略懂的话,新手恐怕会望而却步的,呵呵

论坛徽章:
0
发表于 2010-04-02 18:14 |显示全部楼层
硬是没看懂要这两句干什么用
search=$1
shift

直接在后面用$1好了,还要shift,后面又没用到$2.

论坛徽章:
0
发表于 2010-04-02 18:24 |显示全部楼层
没有注释的代码从来不看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP