我有这两列带标题:
CHR BP
1 78901
我需要向第一列数字(chr)添加一个字符。我还需要创建第三列,其中一个分数以这种方式添加到第二列值(x 到 x+1):
CHR BP new-column
chr1 78901 78902
感谢你的帮助
答案1
Awk 解决方案
echo -e 'CHR BP\n1 78901' | awk -v FIRST_COL_PREFIX="chr" -v THIRD_COL_NAME="new-colum" 'NR == 1 {print $0, THIRD_COL_NAME; next} {print FIRST_COL_PREFIX $1, $2, $2 + 1}'
输出:
CHR BP new-colum
chr1 78901 78902
答案2
使用awk
$ awk '{$(NF+1)=NR>1?$2+1:"new-column";if (NR>1) $1= "chr"$1}1' input_file
CHR BP new-column
chr1 78901 78902