在所有行中插入具有相同字符串的列

时间:2015-05-27 11:50:42

标签: awk sed

我有这个文件

mean.cel sample.cel
1  2
3  4

我想插入一个列,其中包含第二列标题的部分名称

这将是预期的结果

mean.cel newcolumn sample.cel
1  sample 2
3  sample 4

我该怎么做?

2 个答案:

答案 0 :(得分:2)

我会说...

$ awk 'NR==1{print $1, "new column", $2; next} {print $1, "sample", $2}' file
mean.cel new column sample.cel
1 sample 2
3 sample 4

为了使其更加健壮,允许您拥有多个字段(不仅仅是2个),我们可以说:

awk '{$1 = $1 OFS (NR==1?"new column":"sample")} 1' file

这里的想法是在1st字段中附加一个新值。通过与NR一起玩,我们可以根据在第一行或其他行中的行为来切换行为。

答案 1 :(得分:0)

sed '1 {s/ / NewColumn /;b;}
s/ / Sample /' YourFile
  • 基于您的样本并使用空格作为分隔符