여러 열에 숫자를 접미사로 추가

여러 열에 숫자를 접미사로 추가

내 데이터는 다음과 같습니다.

chr1    enhancer_   875557  876449  .   enhancer_
chr1    enhancer_   876970  877622  .   enhancer_
chr1    enhancer_   995719  996320  .   enhancer_
chr1    enhancer_   1142786 1143060 .   enhancer_

awk를 사용하여 열 2와 6의 끝에 증가하는 숫자를 추가하고 싶습니다. 따라서 출력은 다음과 같습니다.

chr1    enhancer_1  875557  876449  .   enhancer_1
chr1    enhancer_2  876970  877622  .   enhancer_2
chr1    enhancer_3  995719  996320  .   enhancer_3
chr1    enhancer_4  1142786 1143060 .   enhancer_4

나는 대부분의 시간을 검색하는데 보냈지만 이것을 할 수 없었습니다.

답변1

해결 방법 1:

awk '{print $1 " " $2 NR " " $3 " " $4 " " $5 " " $6 NR}' yourfile.txt

솔루션 1 스크린샷

해결 방법 2:

awk '{$2 = $2 NR; $6=$6 NR; print }' yourfile.txt

솔루션 2 스크린샷

각 교체에 대한 시퀀서

각 대체 항목을 정렬하려면 Perl 버전을 사용할 수 있습니다.

perl -pe 's/enhancer_/$& .++$n/ge' yourfile.txt

시퀀스가 포함된 Perl 솔루션

답변2

이는 숫자만 삽입하고 예제의 추가 줄 공간을 유지합니다.

awk '{gsub(/enhancer_/,"enhancer_"NR); print;}'  fileinput.txt

산출:

chr1    enhancer_1   875557  876449  .   enhancer_1
chr1    enhancer_2   876970  877622  .   enhancer_2
chr1    enhancer_3   995719  996320  .   enhancer_3
chr1    enhancer_4   1142786 1143060 .   enhancer_4

관련 정보