awk - 有条件地将列添加到文件 awk
问题描述
我有一个看起来像这样的文件
--- 1:14567 14567 A C 0 0 1
--- 1:32424 34424 A C 0 0 1
rsid124 35245 C G 0 0 1
我想要的是---
仅在那些还没有的行中添加第一个字段()---
所需的输出将是这样的
--- 1:14567 14567 A C 0 0 1
--- 1:32424 34424 A C 0 0 1
--- rsid124 35245 C G 0 0 1
如果更容易,解决方法是---
使用 vim 或其他文本编辑器删除,但我想知道如何根据行添加列
解决方案
释义:
我想要的是
---
仅在那些还没有它的行中添加第一个字段。
这很容易做到awk
,只需使用:
awk '$1 != "---" { print "--- "$0 } { print }" inputFile >outputFile
这将修改第一列不符合预期的所有行,并在其前面加上所需的字符串。所有其他行将按原样打印。
推荐阅读
- google-translate - 谷歌翻译公司名称而不是音译
- javascript - 从数组列表创建唯一数组
- python - 如何使用python将文本从一个文本框复制到另一个文本框
- javascript - 如何将 react-table 安装到 Electron(使用 React)项目中?
- ios - Firebase 使用 Swift 添加/删除/更改子侦听器
- reactjs - 使用 useReducer 函数挂钩更新状态的最佳方法是什么?
- android - Android Studio 未检测到约束布局的样式
- r - H2o 深度学习:predict() 使用 tanh 返回大于 1 的值
- blazor - Blazor 使用虚拟 DOM 还是增量 DOM?
- csv - 在 d3.js 中,在使用行转换导入 csv 文件时,如何“切片”数据以仅包含一系列行?