메모장 ++ 두 파일을 비교하고 제거하십시오.


13

두 개의 파일이 있다고 가정 해보십시오. file1.txt 및 file2.txt

두 파일 모두 다음과 같이 신발 브랜드 이름 (1000 개 이상의 이름) 목록을 포함합니다.

brand1 brand2 brand3 브랜드 ...

이제 file1과 file2를 비교하고 모든 반복 항목을 삭제하고 file2에없는 파일 1의 내용 만 표시하고 그 반대의 경우도 표시합니다.

다시 말해 목표는 반대 파일에없는 내용을 확인하는 것입니다. 이러한 항목은 두 개의 다른 범주에 대해 제품 백 오피스에 수동으로 입력되므로 결국 일치하거나 동일하게됩니다.


2
IMO 모든 데이터를 복사하거나 TXT를 CSV로 저장할 수 있으면 Excel에서 훨씬 쉽게 수행 할 수 있습니다. 쉽게 정렬하고 중복을 제거 할 수 있으며 열 비교도 달성하기 어려울 것이라고 확신합니다.
Karan

다음 링크가 유용 할 수 있습니다. superuser.com/a/290445
akjain

다른 도구가 적합합니까? 예를 들어 몇 줄의 파이썬에서 쉽게 할 수 있습니다 (각 파일에서 각 브랜드를 읽고 세트에 저장 한 다음 세트를 인쇄)
Baldrickk

답변:


8

Notepad ++의 플러그인 "비교"가 트릭을 수행합니까?

Notepad ++ plugins => Plugin Manager => Compare 1.5.6 메뉴에서 설치할 수 있습니다

공식 설명은 다음과 같습니다. 두 파일의 차이점을 나란히 표시하는 매우 유용한 diff 플러그인입니다. 저자 : Ty Landercasper, Jean-Sebastien Leroy에 의해 유지 및 업데이트 됨 출처 : http://sourceforge.net/projects/npp-plugins/files/ComparePlugin/Compare_1_5_5_src.zip/download


2
불행히도, 나는 그렇게 생각하지 않습니다. 비교 플러그인은 두 파일의 차이점 만 강조하지만 결과에 따라 선택하거나 편집 할 수있는 도구를 제공하지 않습니다. 확실히 도움이 되긴하지만,이 작업이 여전히 1,000 개가 넘는 브랜드 이름에 대해 매우 지루한 것 같습니다.
Marcks Thomas

3

오래된 질문이지만 ...

  1. WinMerge의 파일 비교
  2. 도구-> 패치 생성 (저장)
  3. 패치는 둘 다 변경되었지만 추가 마크 업도 있습니다. notepad ++에서 다음을 수행하십시오.

        Search Mode:  Regular Expression
        Find What:    ^[0-9-].*$
        Replace With: <blank>
        Replace All
    

    .

        Search Mode:  Regular Expression
        Find What:    (<|>)
        Replace With: <blank>
        Replace All
    
  4. 메모장 ++에서 TextFX 플러그인을 사용하십시오-도구-> 대소 문자를 구분하지 않는 정렬 (출력 고유 옵션 선택) 또는 편집-> 빈 줄 삭제

조금 멍청하지만 한 번의 클릭 으로이 작업을 수행 할 도구를 아직 찾지 못했습니다.


1

notepad ++ (file1-file2)에서 두 파일 을 려면 다음 절차를 따르십시오.

  1. 추가 ----------------------------파일 1 (추가 적어도 10 대시)에 바닥 글로. 이것은 file1 내용을 file2와 구분하는 표시 줄입니다.
  2. 그런 다음 file2의 내용을 file1의 끝 (마커 뒤)에 복사하십시오.
  3. Control + H
  4. 검색: (?m)^\b(.*)\R(?=[\s\S]+-{10,}$[\s\S]+^\1\R)
  5. 다음으로 교체하십시오. (leave empty)
  6. Regular expression라디오 버튼을 선택하십시오
  7. Replace All
  8. 마지막으로 바닥 글 및 file2 내용 제거

file1 / file2에 마커와 동일한 행이있을 수있는 경우 마커를 수정할 수 있습니다. 이 경우 정규식을 조정해야합니다.

그건 그렇고, 한 번의 버튼 누름으로 모든 단계 (마커 추가, 파일 2로 전환, 내용을 파일 1로 복사, 정규 표현식 적용 및 빼기 후 데이터 정리)를 수행하는 매크로를 기록 할 수도 있습니다.


0

유닉스를 사용할 수 있다면 간단한 명령의 간단한 조합을 시도 할 수 있습니다. tr, 정렬 및 통신.

먼저 파일을 가로로 구분하여 세로로 구분하여 변환하십시오.

tr '[:blank:]' '\n' < file1.txt > /tmp/file1.vertical
tr '[:blank:]' '\n' < file2.txt > /tmp/file2.vertical

그런 다음 파일을 정렬하십시오.

sort /tmp/file1.vertical > /tmp/file1.sorted
sort /tmp/file2.vertical > /tmp/file2.sorted

이제 file2에없는 file1의 내용을 볼 수 있습니다.

comm -23 /tmp/file1.sorted /tmp/file2.sorted

또는 file1에없는 file2의 내용을 참조하십시오.

comm -13 /tmp/file1.sorted /tmp/file2.sorted

시작한 것과 동일한 가로 형식으로 출력하려면 다음과 같이하십시오.

comm -23 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
comm -13 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '

완료되면 생성 한 임시 파일을 삭제할 수 있습니다.

rm /tmp/file1.vertical /tmp/file2.vertical /tmp/file1.sorted /tmp/file2.sorted
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.