awk 将一个文件拆分为 n 个文件,每个文件都有其标题
Posted
技术标签:
【中文标题】awk 将一个文件拆分为 n 个文件,每个文件都有其标题【英文标题】:Awk splitting one file into n files each one with its header 【发布时间】:2018-10-05 02:40:48 【问题描述】:我很难学习如何根据标头生成 2 个输出文件,以及是否可能使用标头中的信息命名...
示例原始文件:
AAABBB12042018
Jon238444kdhsljdjd7
Math37378338kdjdkske
AAABBB14042018
Ash81272722mddnd
Jay81727272msnsms
第一个基于标题命名的文件:file-12042018
Jon238444kdhsljdjd
Math37378338kdjdkske
基于标题命名的第二个文件:file-14042018
Ash81272722mddnd
Jay81727272msnsms
我不介意保留标题,我的问题是如何根据标题中的字符串处理多个输出名称
【问题讨论】:
我建议看看awk
。
“AAABBB”部分是否不变?我们怎么知道它是标题?是不是缺少前导空格?
Gleen 它是一个常数,这意味着它的标题正是那个字符串
【参考方案1】:
这应该可以...
$ awk '/^AAABBB/sub(/^AAABBB/,"file-"); fn=$0; next print > fn' file
如果该行以此标记开头,则将其替换为文件前缀并将行打印到该文件。
【讨论】:
以上是关于awk 将一个文件拆分为 n 个文件,每个文件都有其标题的主要内容,如果未能解决你的问题,请参考以下文章