내가 하고 싶은 것은 두 번째와 세 번째 열이 중복되는지 확인하는 것입니다(그렇지 않으면 네 번째, 다섯 번째, 여섯 번째 열을 그대로 사용). 다섯 번째 열의 첫 번째 요소와 여섯 번째 열의 마지막 요소를 인쇄하고 네 번째 열의 해당 요소입니다.
입력 예는 다음과 같습니다.
Chr1 39584 39678 Chr1 39653 39654
Chr1 39584 39678 Chr1 39654 39655
Chr1 39584 39678 Chr1 39677 39678
Chr1 40023 40039 Chr1 40038 40039
Chr1 283979 283993 Chr1 283979 283980
Chr1 283979 283993 Chr1 283980 283981
Chr1 283979 283993 Chr1 283989 283990
Chr1 283979 283993 Chr1 283990 283991
Chr1 283979 283993 Chr1 283992 283993
원하는 출력은 다음과 같습니다.
Chr1 39653 39678
Chr1 40038 40039
Chr1 283979 283993
감사해요!
답변1
발라 버렸지:
awk '!a[$2]++ && !b[$3]++' input.txt | cut -f 4,5 >first_part.txt
tac input.txt | awk '!a[$2]++ && !b[$3]' |tac|
first_part.txt 붙여넣기 second_part.txt > output.txt
하지만 더 나은 해결책이 있다면 자유롭게 공유해 주세요!