메모장 ++에서 파이프 구분 열을 다시 정렬하는 방법은 무엇입니까?


8

다음과 같은 방법으로 .txt 파일의 모든 줄을 재배치하려고합니다. 그러나 나는 그것에 대해 어떻게하는지 모른다. 메모장 ++에서 가능합니까?

에서
apple|apple123@aol.com|orange
celery|celery@aol.com|cabbage의
sandwich|sandwich@aol.com|turkey


apple|orange|apple123@aol.com
celery|cabbage|celery@aol.com
sandwich|turkey|sandwich@aol.com


방금 전에조차 알지 못했지만 매우 유용하게 보입니다. TextFX 플러그인으로 메모장 ++에서 열 편집
MC10

나는 이것을 "재배치 라인"이라고 부르지 않을 것이다.
궤도에서 가벼움 경주

답변:


15

텍스트 파일에서 열 순서 변경

네, 이것은 vanilla 내에서 가능 Notepad++하지만 언급 한 것처럼 플러그인도 있습니다. 더 나은 (보다 강력한) 접근 방식은 일부 명령 줄 텍스트 처리 도구를 사용하는 것일 수 있지만 빠르고 더러운 솔루션이 필요한 경우 아래에서 찾을 수 있습니다.

정확한 입력을 가정하면 ( col1|col2|col3, 파이프 델리 미터, 파이프 없음 col2) :

찾기 :(.*?)\|(.*?)\|(.*)

교체 :\1|\3|\2

Notepad++2015 년 1 월에 지어진 에서 나를 위해 일합니다. 다소 잔인하지만 작동합니다.

설명:

.* -0에서 무제한 시간 사이의 모든 문자 (줄 바꾸기 제외)와 일치

.*?-위와 같이 욕심없는 방식으로 모든 문자 (줄 바꿈 제외)와 일치합니다 (예 : 가능한 한 적게 일치 )

(.*)- 일반 브래킷 나타내는 그룹 캡처 위의을 (사용하기에 교체 등으로 \1, \2, \3등)

\|- 문자 그대로 일치하도록 \파이프 ( |)를 이스케이프 처리

\1|\3|\2-첫 번째 일치 그룹, 파이프, 세 번째 일치 그룹, 파이프, 두 번째 일치 그룹 인쇄


내 기쁨, 나는 그것이 당신을 도왔고 다른 사람들에게 도움이되기를 희망합니다 :-) 필요하지 않지만, 문제를 해결하려면 눈금을 클릭하여 답변을 수락 할 수도 있습니다. 더 나은 답변을 기다릴 수 있습니다!
bertieb

.*탐욕스럽지 않게 할 필요가 없습니다 .*?. 많은 역 추적을 피하기 위해?
Ex Umbris 5

@ExUmbris은 : 일반적으로 최적화 시작 속도가 부적절한 것 같다 때
nperson325681

OTOH는 의도적으로 ?문자를 쓰지 않기 위해 차선의 쿼리를 작성하는 것은 어리석은 것처럼 보입니다.
궤도에서 가벼움 경주

1
(.*?)|(.*?)|(.*)나를 위해 작동합니다.
Shaz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.