다음 텍스트가 있다고 가정합니다.
abc
123
abc
456
789
abc
abc
모든 “abc”줄을 제거하고 하나만 유지하고 싶습니다. 나는 정렬에 신경 쓰지 않는다. 결과는 다음과 같아야합니다.
abc
123
456
789
답변
줄 순서가 중요하지 않은 경우
사전 순으로 행을 정렬하지 않은 경우 사전 순으로 정렬하고 다음 단계를 수행합니다.
(관련 질문에 따라 정규식을 사용하여 파일에서 중복 된 행을 어떻게 찾고 제거합니까? )
-
Control+F
-
“바꾸기 모드”전환
-
“정규식 사용”(
.*
기호가 있는 아이콘 )을 전환합니다. -
에서 검색 필드에 입력
^(.*)(\n\1)+$
-
” 바꿀 내용 “필드에 다음을 입력합니다.
$1
줄 순서 가 중요해서 정렬 할 수없는 경우
이 경우 VS Code 외부의 솔루션 ( 여기 참조 )을 사용하거나-문서가 너무 크지 않고 모두 바꾸기 단추를 스팸해도 괜찮다면 이전 단계를 따르되 4 단계와 5 단계에서 수행하십시오. 다음을 입력하십시오
( 정렬하지 않고 특정 중복 줄 제거 기준 )
주의 : 너무 많은 줄 (1000+)이있는 파일에 대한 블록; VS 코드가 충돌 할 수 있습니다. 경우에 따라 빈 줄이 생길 수 있습니다.
-
검색 :
((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?
-
다음으로 대체 :
$1
그런 다음 중복 항목이있는만큼 “모두 바꾸기”버튼을 클릭합니다 .
버튼을 클릭했을 때 줄 수가 줄어들지 않으면 충분하다는 것을 알 수 있습니다. 문서의 마지막 줄로 이동하여 계속 확인하십시오.
답변
다음은 매우 흥미로운 확장입니다. Transformer
풍모:
- 고유 한 라인
- 새 문서로 고유 한 줄
- 필터 라인
- 줄을 새 문서로 필터링
- 라인 정렬
- 길이로 줄 정렬
- 커서에 정렬
- CSV 정렬
- 컴팩트 CSV
- 새 문서로 복사
- 라인 선택
- 라인을 JSON으로
- 트림 라인
- 중복 라인을 새 문서로 계산
- 매크로
중복 줄 제거 :
-
문서에서 중복 된 줄을 제거합니다.
-
선택이없는 경우 선택 또는 현재 블록에서 작동
“Unique Lines”명령 외에는 많이 사용하지 않았지만 꽤 잘된 것 같습니다 (매크로 레코더 시도 포함!).
답변
@ Marc.2377의 답장에 추가하려면.
순서가 중요하고 중복 된 줄의 마지막 줄만 유지하는 데 신경 쓰지 않는 경우 비어 있지 않은 중복 줄만 제거하려면 다음 정규식을 검색하면됩니다.
^(.+\n)(?=(?:.*\n)*?\1)
중복 된 빈 줄도 제거하려면 *
대신 사용하십시오.+
^(.*\n)(?=(?:.*\n)*?\1)
아무것도 교체하지 마십시오.
이것은 한 줄을 취하고 더 많은 (아마도 0) 줄을 찾은 다음 정확히 동일한 줄을 찾으려고 시도합니다. 취한 선을 제거합니다.
이것은 일회성 정규식입니다. 교체 버튼을 스팸 할 필요가 없습니다.
답변
방금 동일한 문제가 발생하여 Visual Studio Code 패키지 “Sort lines”을 발견했습니다. 자세한 내용은 Visual Studio Code 마켓 플레이스를 참조하세요 (예 : 정렬 라인 ).
이 패키지에는 “Sorting lines (unique)”옵션이 있습니다. 줄의 시작 / 끝에있는 모든 공백을 처리하십시오. 라인이 고유 한 것으로 간주되는지 여부에 영향을줍니다.
답변
DupChecker 확장을 설치하고를 누르고F1 “중복 확인”을 입력합니다.
중복을 확인하고 제거 할 것인지 묻습니다.
답변
답변
실제로 Visual Studio Code에서는 아니지만 작동하면 작동합니다.
- 새 Excel 스프레드 시트 열기
- 데이터를 열에 붙여 넣기
- 데이터 탭으로 이동
- 데이터 열 선택 (아직 선택하지 않은 경우)
- 클릭 중복 제거 (다소 줄의 중간을)
- OK중복을 제거 하려면 클릭하십시오 .
Visual Studio Code를 지정 했으므로 가장 좋은 대답은 아니지만 내가 말했듯이 작동하면 작동합니다. 🙂