2013-06-05 2 views
6

예 중복 라인에 대한 GUID를 가진메모장 ++과 같은 복잡한

40000 + 라인을 확인 : 중복

에 대한 모든 GUID 년대에 걸쳐

GUID: 0981723409871243 

검색

예 : 내가 가지고있는

GUID: 124432408213 
GUID: 08917234071423 
GUID: 0189742381 
GUID: 08917234071423 
GUID: 0817423423 
GUID: 124432408213 

TextFX 및 비교하지만이 부분은 2 124432408213 및 2입니다.

중복 가능성이있는 40,000 줄 중에서 쉽게 찾을 수 없습니다. 중복 된 것을 찾는 방법이 필요합니다.

GUID와 같은 것이 될 것입니다 : "guid 이후의 텍스트 검색"다음 줄에서 각 GUID 검색 계속 ...이 작업을 수행 할 수있는 사용자 지정 프로그램을 작성할 수는 있지만 ...

[블록 1] GUID를 :이 TextFX은

내가 예를 들어 여기에 좀 더 많은 정보를 추가해야합니다 ... 바로 이런 일을 할 수있는 방법이 표시되지 않습니다 꽤 강력하다 ???? 자세한 정보 : ??? [/ 블록 1]

이 각 블록이 포맷되는 방법이다 ..

답변

3

사용 TextFx 입력 라인을 정렬하고 중복을 유지한다. 그런 다음 탭에 정규식 검색을 설정합니다. 검색 텍스트는 ^(GUID:\s*\d+\r\n)\1이어야하고 모두 표시를 클릭하십시오 **. 다음 사용 메뉴 =>검색 =>북마크 =>표시되지 않은 라인는 중복을 제외한 모든 것을 제거하거나 사용하는 메뉴 =>검색 =>북마크 =>복사 북마크 라인을하고 붙여 제거 원하는 곳에 줄을 긋습니다. 4 개 이상의 동일한 줄이있는 경우 위의 내용은 각 쌍에 대해 하나의 항목으로 끝나고 중복을 제거하는 다른 TextFX 정렬은 잉여를 제거해야합니다.

[block1] guid: ???? more info: ??? [/block1] 경우를 들어 정규 표현식하지만 ^(\[block1\] guid:\s*\d+ more info:\s*\d+ \[/block1\]\r\n)\1 발견 더 복잡와의 중복을 표시 :

Linux 또는 유사한 명령에
[block1] guid: 1234 more info: 5678 [/block1] 
[block1] guid: 1235 more info: 5678 [/block1] 
[block1] guid: 1235 more info: 5678 [/block1] 
[block1] guid: 1236 more info: 5678 [/block1] 
[block1] guid: 1236 more info: 5678 [/block1] 

하는 sort -c inputFileName | grep -v "^\s*1\s" 또는 sort inputFileName | unic -c | grep -v "^\s*1\s" 또는 sort inputFileName | uniq -d 정확히 명령에 따라 작동합니다 같은 옵션을 사용할 수 있습니다. 2. 그런 다음 다른보기로 탭 2를 이동 내 대답은 지금까지 당신을 도울 수 있지만

+0

그것은 불행하게도 훨씬 더 복잡 ... [UNIT] GUID입니다 : 유일한 것은 필요 DUP 체크 ... 이름 : ?? 파일 : ??? UnitType : ??? 알 수 없음 : ?? [/ UNIT] – user2455808

+0

@ user2455808 그럼 실제 질문은 무엇입니까? 더 복잡한 경우 실제 데이터와 필요한 출력을 표시하십시오. 확인해야 할 비트와 무시할 수있는 비트를 명확하게 설명하십시오. – AdrianHHH

+0

괜찮습니다. 대신 프로그램을 작성했습니다. 아마도 옳았고 필요한 것을 수행하는 방법을 알고 있었지만 리눅스 기반 명령에 익숙하지 않았습니다. ( – user2455808

11

이 ... 2 개 뉴스 탭으로 선을 복사 한 다음 마지막으로, 정렬 탭 1과 독특한 정렬 탭을 복제 할 TextFX를 사용 비교를 사용하십시오.

+0

더 간단합니다.) –

+0

이 접근법은 저에게 효과적이었습니다. –