awk - awk 将一个文件分成 n 个文件,每个文件都有它的标题
问题描述
我很难学习如何根据标头创建 2 个输出文件,以及是否可能使用标头中的信息命名...
示例原始文件:
AAABBB12042018
Jon238444kdhsljdjd7
Math37378338kdjdkske
AAABBB14042018
Ash81272722mddnd
Jay81727272msnsms
第一个基于标题命名的文件:file-12042018
Jon238444kdhsljdjd
Math37378338kdjdkske
基于标题命名的第二个文件:file-14042018
Ash81272722mddnd
Jay81727272msnsms
我不介意保留标题,我的问题是如何根据标题中的字符串处理多个输出名称
解决方案
这应该做...
$ awk '/^AAABBB/{sub(/^AAABBB/,"file-"); fn=$0; next} {print > fn}' file
如果该行以此标记开头,请将其替换为文件前缀并将行打印到该文件。
推荐阅读
- git - TortoiseGit 日志 - 我可以只查看分支和合并提交吗?
- javascript - 在 Azure 上作为静态应用托管的 Create-react-app 未检测到环境变量
- python - Flask ModelView 未显示在头栏中
- vapor - 如何在 Heroku 和 Vapor4 中设置 HTTP/2
- java - Eclipse 中的 Web 项目缺少“在服务器上运行”选项
- ansible - Ansible - Failed_when 条件如果存在而不是条件
- java - Java - Runtime.getRuntime().exec(command) 的问题
- c++ - 填充和打印 - C++ 中的二维数组
- c# - ClosedXML 使用路径创建现有工作簿会出现异常
- flutter - Flutter googleMap 方向 URL 和 streetView 未在 Android 11 中启动