模式匹配时打印下一行

时间:2016-08-18 14:02:24

标签: bash

假设我有一个文件:

aaaaaaa
bbbbbbb
ccccccc

现在我想搜索bbbbbbb,当我得到匹配时,我想得到下一行的结果,在这种情况下是ccccccc。我正在查看grep手册页和bash内部解析函数,但无法找到与此情况相关的任何内容。有人知道我怎么能做到这一点?

谢谢,

4 个答案:

答案 0 :(得分:2)

使用GNU sed:

sed -n '/bbbbbbb/{n;p}' file

输出:

ccccccc

答案 1 :(得分:1)

这是一个可能有用的awk解决方案

awk 'f{print;f=0} /bbbbbbb/{f=1}' file
ccccccc

使用grep或许

cat file | grep "bbbbbbb" -A1 | tail -n 1
ccccccc

答案 2 :(得分:0)

查看-A的{​​{1}}选项 - 它将列出以下行。 E.g:

grep

虽然这会列出b和c&... ...所以你可以这样做:

grep -A1 bbbbbbb

排除b。

答案 3 :(得分:0)

使用gawk / awk:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

   NSLog(@"prepareForSegue: %@", segue.identifier);
   if([segue.identifier isEqualToString:@"VerifyNext"])
   {
      VerifyNextViewController *verifyNVC = segue.destinationViewController;
      verifyNVC.name = @"Prashabt";
      verifyNVC.id = @"1234";
   }
   else if([segue.identifier isEqualToString:@"VerSeg"])
   {
      AnotherViewController *anotherVC = segue.destinationViewController;
      anotherVC.name = @"Sharma";
      anotherVC.id = @"3245";
    }
}