我有一个看起来像这样的文件
--- 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或其他文本编辑器删除---
,但我想知道如何根据行添加列
答案 0 :(得分:1)
改写为:
我想要的是仅在那些没有字段的行中添加第一个字段
---
。
使用awk
相当容易,只需使用:
awk '$1 != "---" { print "--- "$0 } { print }" inputFile >outputFile
这将修改第一列与预期不符的所有行,并以所需的字符串作为前缀。所有其他行将按原样打印。
答案 1 :(得分:0)
如果您不介意使用sed,则可以使用以下方法:
header('Expires: Sun, 01 Jan 2014 00:00:00 GMT');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
否则,awk版本将类似于:
$ sed -i 's/^[^-]\(.*\)/--- \1/g' file.txt