서식 변경과 함께 열 값에 숫자를 추가하고 세 번째 열에 인쇄하는 방법

서식 변경과 함께 열 값에 숫자를 추가하고 세 번째 열에 인쇄하는 방법

헤더가 있는 다음 두 열이 있습니다.

CHR BP
1   78901

숫자의 첫 번째 열(chr)에 문자를 추가해야 합니다. 또한 다음과 같이 두 번째 열 값(x ~ x+1)에 분수를 추가하여 세 번째 열을 만들어야 합니다.

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

관련 정보