ヘッダーがある次の2つの列があります。
CHR BP
1 78901
数字の最初の列(chr)に文字を追加する必要があります。また、次のように、2番目の列値(x〜x + 1)に小数を追加して3番目の列を作成する必要があります。
CHR BP new-column
chr1 78901 78902
助けてくれてありがとう
答え1
奇妙なソリューション
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