열의 각 기호(+/-) 값을 바꿉니다.

열의 각 기호(+/-) 값을 바꿉니다.

게놈 좌표를 사용하여 .bed 파일을 만들려고 하는데 거의 비슷합니다. 마지막 단계만 남았습니다. 다음과 같은 파일이 있습니다.

LQNS02278165.1  13104710        13109495        BEL-1_PH-I      4785
LQNS02278165.1  9139127         9142308         BEL-1_PH-I      3181
LQNS02278165.1  9222957         9221339         BEL-1_PH-I      -1618

5열을 게놈의 방향이 될 기호로 바꿔야 합니다. 이상적으로 출력은 다음과 같습니다.

LQNS02278165.1  13104710        13109495        BEL-1_PH-I      +
LQNS02278165.1  9139127         9142308         BEL-1_PH-I      +
LQNS02278165.1  9222957         9221339         BEL-1_PH-I      -

awk에 대한 조언을 주시면 감사하겠습니다! 감사해요

답변1

이것으로 충분합니다:

awk '{$NF=($NF<0 ? "-" : "+")}1' file
  • $NF=($NF<0 ? "-" : "+")마지막 필드가 음수이면 빼기 기호로 바꾸고, 그렇지 않으면 더하기 기호로 바꿉니다.

  • 1이 줄을 인쇄하세요.

답변2

반점

awk '{if ($NF ~ "-"){$NF="-";print }else{$NF="+";print }}' filename

산출

LQNS02278165.1 13104710 13109495 BEL-1_PH-I +
LQNS02278165.1 9139127 9142308 BEL-1_PH-I +
LQNS02278165.1 9222957 9221339 BEL-1_PH-I -

관련 정보