免费注册 查看新帖 |

Chinaunix

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

[文本处理] 如何将空格行去掉,高手请帮忙解答下。谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-03-05 09:15 |只看该作者 |倒序浏览
echo "i love you" |sed -r 's#(.)#\1\n#g'
两个问题:
1.sed -r 's#(.)#\1\n#g'这段话中(.)#\1\n这个是什么意思,没弄明白
2.[root@01 tmp]#  echo "i love you" |sed -r 's#(.)#\1\n#g'  |sed '/^$/d'  
i

l
o
v
e

y
o
u
空格行为何删除不了?

论坛徽章:
0
2 [报告]
发表于 2019-03-05 10:11 |只看该作者
本帖最后由 jzsjm1002 于 2019-03-05 10:55 编辑
  1. root@vh200:/mnt/awk# cat f00.xml
  2. a
  3. b

  4. c
  5. root@vh200:/mnt/awk# cat f00.xml | sedsed -d '/^$/d'
  6. PATT:a$
  7. HOLD:$
  8. COMM:/^$/ d
  9. PATT:a$
  10. HOLD:$
  11. a
  12. PATT:b$
  13. HOLD:$
  14. COMM:/^$/ d
  15. PATT:b$
  16. HOLD:$
  17. b
  18. PATT:$                                #模式空间 "PATT:$" 即正则为 ^$
  19. HOLD:$
  20. COMM:/^$/ d
  21. PATT:c$
  22. HOLD:$
  23. COMM:/^$/ d
  24. PATT:c$
  25. HOLD:$
  26. c
  27. root@vh200:/mnt/awk# echo "i love you" | sed -r 's#(.)#\1\n#g' | sedsed -d '/^$/d'
  28. PATT:i$
  29. HOLD:$
  30. COMM:/^$/ d
  31. PATT:i$
  32. HOLD:$
  33. i
  34. PATT: $                                #模式空间 "PATT: $" 所以正则^$ 是不匹配的
  35. HOLD:$
  36. COMM:/^$/ d
  37. PATT: $
  38. HOLD:$

  39. PATT:l$
  40. HOLD:$
  41. COMM:/^$/ d
  42. PATT:l$
  43. HOLD:$
  44. l
  45. ...


  46. #这样就可以了
  47. root@vh200:/mnt/awk# echo "i love you" | sed -r 's#(.)#\1\n#g' | sed -r '/\s|^$/d'
  48. i
  49. l
  50. o
  51. v
  52. e
  53. y
  54. o
  55. u
  56. root@vh200:/mnt/awk# echo "i love you" | sed -r 's#(.)#\1\n#g' | awk 'NF'
  57. i
  58. l
  59. o
  60. v
  61. e
  62. y
  63. o
  64. u
复制代码

论坛徽章:
0
3 [报告]
发表于 2019-03-05 11:26 |只看该作者
回复 2# jzsjm1002

感谢,另外sed -r 's#(.)#\1\n#g中的s#(.)#\1\n怎么理解,不是太明白,这个语句我是摘抄别人写的。

论坛徽章:
0
4 [报告]
发表于 2019-03-05 11:27 |只看该作者
回复 2# jzsjm1002

感谢指点,另外咨询一下sed -r 's#(.)#\1\n#g'这段话中(.)#\1\n这个是什么意思,没弄明白,因为语句是摘抄别人的。

论坛徽章:
0
5 [报告]
发表于 2019-03-05 11:39 |只看该作者
(.)  捕获型括号 任意一个字符串
\1  引用捕获型括号
  1. root@vh200:/mnt/awk# echo "a" | sed -r 's/(.)/\1 b/'
  2. a b
复制代码

匹配到a 引用a 替换成 a b

论坛徽章:
0
6 [报告]
发表于 2019-03-05 13:55 |只看该作者
回复 5# jzsjm1002

好的,谢谢,原来等同于&引用功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP