【问题标题】:Awk splitting one file into n files each one with its headerawk 将一个文件拆分为 n 个文件,每个文件都有其标题
【发布时间】:2018-10-05 02:40:48
【问题描述】:

我很难学习如何根据标头生成 2 个输出文件,以及是否可能使用标头中的信息命名...

示例原始文件:

AAABBB12042018

 Jon238444kdhsljdjd7

 Math37378338kdjdkske

AAABBB14042018

 Ash81272722mddnd

 Jay81727272msnsms

第一个基于标题命名的文件:file-12042018

Jon238444kdhsljdjd

Math37378338kdjdkske

基于标题命名的第二个文件:file-14042018

Ash81272722mddnd

Jay81727272msnsms

我不介意保留标题,我的问题是如何根据标题中的字符串处理多个输出名称

【问题讨论】:

  • 我建议看看awk
  • “AAABBB”部分是否不变?我们怎么知道它是标题?是不是缺少前导空格?
  • Gleen 它是一个常数,这意味着它的标题正是那个字符串

标签: awk split


【解决方案1】:

这应该可以...

$ awk '/^AAABBB/{sub(/^AAABBB/,"file-"); fn=$0; next} {print > fn}' file

如果该行以此标记开头,则将其替换为文件前缀并将行打印到该文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 2017-09-05
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多