0
나는 다음과 같은 형식 라인의 수백만을 가진 파일이 있습니다하나의 열을 기준으로,>이 개 중복 모든 라인을 유지
SN608 VB050 1 1113 1699.50 2339.90 0 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCGTCAATTTTTTAAAAAAAACCCCCGGGGGGTAGTTTGTTAAAA a[_ceeeegggfgiiigecccccccccccccccccccccbcccccccccccTTEHGGHHGJHGJSRGEGGJY]]]TX[[[XEEOX[EEEGGJGGGGJS] 1
내가 sort -k9
를 사용하여 열 아홉하여 분류했다. 열 9는 100 자의 문자열이지만 일부 항목은 마침표가있을 수 있습니다. 이제 열 9의 100 자 문자열이 1 또는 2 번 (< 3 번) 발생하는 줄을 제거하고 다른 모든 줄을 파일에 저장합니다.
uniq
(
-d -f9 -w100
)와
sort
주변에 놀고 도움이 될 것입니다
awk
을 의심하지만, 나는 이것을 알아 내기 위해 초보자 너무 많이입니다.
감사합니다! 이것은 현재 내 목적에 잘 맞지만, 3 개 이상의 경기가있을 때 첫 번째 경기와 두 번째 경기를 버리기를 원하지 않는다면 어떻게해야합니까? – user2250055
@ user2250055 그건 내 원래의 대답이었습니다. 지금 당장 문제가 해결되면 옆에있는 체크 표시를 눌러이 대답을 수락하십시오. –
나는 이것이 더 가까웠다 고 생각한다.'awk '++ [$ 9]> 2'infile> outfile'. 그것은 두 번 이상 반복 된 문자열을 성공적으로 저장하지만, 의미 한 것은 출력에서 두 번 이상 반복되는 첫 번째 및 두 번째 일치를 유지하는 것입니다 (3 ~ n 번째 일치는 제외). 다른 대답 ('awk '++ [$ 9]> 2 {print $ 0> "dups"; 다음} 1'file> outfile')은 2보다 큰 중복을 제거하는 것처럼 보입니다. – user2250055