【问题标题】:How to copy particular lines below particular text?如何复制特定文本下方的特定行?
【发布时间】:2020-09-18 08:58:27
【问题描述】:

假设我有很长的文本文件 output1output2output3。在所有输出文件中,某处是“我的名字是摇滚(静态)” 在该文本下方有一些值,例如

"My Name is Rock (static)"
10 20 30
-10 0.5 00
3.0 0.0 0.0 (different for all output file)

如何将行下方第三行的第二列(“My Name is Rock (static)”)复制到新文件中?

记住所有输出文件的行号都不同。

【问题讨论】:

  • 请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。

标签: bash shell awk terminal sh


【解决方案1】:
awk 'c{c--;if(!c) print $2}/My Name is Rock \(static\)/{c=3}' ./output1 ./output2 ./output3

说明

  • /My Name is Rock \(static\)/{c=3}:当看到“我的名字是摇滚(静态)”时,将c设置为3
  • c{...}:如果计数器 c 不为零,则执行 ...(注意,c 从 0 开始)
  • c--;if(!c) print $2: 递减计数器,如果计数器现在为零,则打印当前行的第二个字段

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2021-03-11
    • 2018-05-06
    相关资源
    最近更新 更多