Chinaunix

标题: print lines between 2 strings [打印本页]

作者: fzhcl    时间: 2015-04-26 11:58
标题: print lines between 2 strings
Hi Everyone,

sorry I can't type in Chinese at the moment.

I have a file A like this, and I want to print lines between FFL -- Total FFL,

FileA,
,,,FFK HC,,,
,,,,FFK+300176
,,,,FFK+300177
,,,,FFK+300178
,,,Total FFK ,,
,,,FFL 156 PHOT
,,,,FFL-00000
,,,,FFL+30017
,,,,FFL+30020
,,,,FFL 156 PHO
,,,Total FFL 15
,,,FFA 156 PHOT
,,,,FFA-00000
,,,,FFL+30017
,,,,FFL+30020
,,,,FFA 156 PHO
,,,Total FFA 15


output :
,,,FFL 156 PHOT
,,,,FFL-00000
,,,,FFL+30017
,,,,FFL+30020
,,,,FFL 156 PHO
,,,Total FFL 15

Thanks in advance, appreciate your help.

作者: rubyish    时间: 2015-04-27 00:20
biru:
  1. while (<DATA>) {
  2.     print if /^,,,FFL/ .. /^,,,Total FFL/;
  3. }

  4. __DATA__
  5. ,,,FFK HC,,,
  6. ,,,,FFK+300176
  7. ,,,,FFK+300177
  8. ,,,,FFK+300178
  9. ,,,Total FFK ,,
  10. ,,,FFL 156 PHOT
  11. ,,,,FFL-00000
  12. ,,,,FFL+30017
  13. ,,,,FFL+30020
  14. ,,,,FFL 156 PHO
  15. ,,,Total FFL 15
  16. ,,,FFA 156 PHOT
  17. ,,,,FFA-00000
  18. ,,,,FFL+30017
  19. ,,,,FFL+30020
  20. ,,,,FFA 156 PHO
  21. ,,,Total FFA 15
复制代码

作者: fzhcl    时间: 2015-04-30 03:42
本帖最后由 fzhcl 于 2015-04-30 03:46 编辑

回复 2# rubyish


谢谢。非常好用。
检讨一下,google的时候用的关键词不对,没有找到合适的。一直用(.*)去试。


   
作者: sunzhiguolu    时间: 2016-09-21 12:56
  1. perl -0nle 'print $1 while(/^(,+FFL.+?\bTotal\N+)/gms)' f
复制代码





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