免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: General_715
打印 上一主题 下一主题

[文本处理] 想打印匹配行到不是空格为首的行之间的内容 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2016-05-12 10:04 |只看该作者
awk -vRS='a[0-9]' 's~head{print s,$0}{s=RT}' head=你想输出的字段 file

论坛徽章:
2
技术图书徽章
日期:2013-12-20 07:35:03技术图书徽章
日期:2014-12-16 12:59:42
12 [报告]
发表于 2016-06-30 09:28 |只看该作者
多谢上面的各位

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
13 [报告]
发表于 2016-06-30 16:50 |只看该作者
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. print "Enter start label:";
  5. chomp (my $ID = <STDIN>);
  6. while (<>){
  7.     if (my $state = /\A$ID/ ... /\A\b/){
  8.         last if (index ($state, "E0") >= 0);
  9.         print;
  10.     }
  11. }
复制代码

论坛徽章:
10
15-16赛季CBA联赛之同曦
日期:2016-06-11 19:22:4115-16赛季CBA联赛之深圳
日期:2020-05-31 16:13:5615-16赛季CBA联赛之同曦
日期:2020-01-28 12:42:47每日论坛发贴之星
日期:2016-08-09 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00每日论坛发贴之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-04 06:20:0015-16赛季CBA联赛之佛山
日期:2021-02-26 09:33:41
14 [报告]
发表于 2016-07-01 12:09 |只看该作者
  1. #!/bin/bash

  2. #sed -n '/a1/,/a2/p'|sed '$d'

  3. read -p "Please enter (eg:a1):" choice
  4. [ -z $choice  ] && exit 1

  5. a=`echo $choice|cut -c 1`
  6. b=`echo $choice|cut -c 2-`

  7. expr $b + 1 >/dev/null 2>&1
  8. [ $? -ne 0 ] && echo "Input error" && exit 2

  9. c=$(($b+1))

  10. cat file|sed -n '/a'$b'/,/a'$c'/p'|sed '$d'
复制代码
缩写版如下
  1. #!/bin/bash

  2. file=file

  3. read -p "Please enter (eg:a1):" choice
  4. [ -z $choice  ] && exit 1
  5. expr ${choice:1} + 1 &>/dev/null
  6. [ $? -ne 0 ] && exit 2

  7. sed -n '/a'${choice:1}'/,/a'$((${choice:1}+1))'/p' $file | sed '$d'
复制代码
用法直接改一下文件名然后回车
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP