메모장에서 CRLF 찾기 ++


316

메모장 ++에서 모든 CR / LF 문자를 어떻게 찾거나 바꿀 수 있습니까?

Microsoft Word의 ^ p 특수 문자와 동등한 것을 찾고 있습니다.


'thenonhacker'가 언급 한 내용을 조금만 작성하면됩니다. 작업에서 ULtraEdit-32를 사용하고 EDI 파일 (x.12)을 사용하여 데이터를 랩하거나 랩 해제해야하는 경우가 종종 있습니다. 가장 일반적인 검색 및 바꾸기 문자열은 "^ p"및 "~"입니다. 한 방향으로 이동하면 "~"가 CR / LF로 바뀌어 각 세그먼트를 쉽게 읽을 수 있습니다. 다른 방법으로 이동하면 파일이 EDI 변환기에 필요한 형식으로 다시 저장됩니다. 나 같은 게으른 사람들을 위해, 나는 사용하기 쉬운 열쇠에 그지도를 가지고 있습니다.
DavidGrove 2016 년

1
관련이 없지만 도움이됩니다. Windows에서 UNIX 텍스트 파일을 Windows 형식으로 변환하는 방법을 검색 한 후이 페이지를 방문했습니다. 이것이 내가하고 일한 것입니다. CTRL+H"검색 모드 : 정규 표현식"을 선택하십시오. "찾을 내용 : $"및 "바꾸기 : \ r". 내용을 메모장에 붙여 넣거나 디스크에 저장하십시오.
Guru

2
예이! 메모장 + + 6.0은 PCRE를 지원합니다 : [\r\n]+이제 정규식이 작동합니다. 답변을 업데이트했으며 축하합니다!
VonC

@VonC : 모든 [notepad ++] 답변 도 업데이트해야한다고 생각 합니다. :)
BoltClock

아무도 일반 이스케이프 와 일치하는 이스케이프 시퀀스 를 언급 \R하지 않은 것 같습니다 . 즉, 줄 바꿈 순서로 간주되는 것은 ...
버블 버블

답변:


412

[\r\n]+ 너무 작동해야합니다

Notepad ++ 6.0 출시 날짜 2012 년 3 월 26 일 업데이트 :

세상에, 그것은 실제로 지금 작동한다! !!

메모장의 PCRE 정규식 ++


원본 답변 2008 (Notepad ++ 4.x)-2009-2010-2011 (Notepad ++ 5.x)

실제로 아니요, 정규 표현식으로 작동하지 않는 것 같습니다 ...

그러나 Notepad ++ 5.x가있는 경우 ' 확장 '검색 모드를 사용하여를 찾을 수 \r\n있습니다. 그것은 당신의 모든 것을 찾습니다 CRLF.

(이것은 다른 것과 같은 대답이라는 것을 알고 있지만 '확장 모드'는 메모장 ++ 4.9, 5.x 이상에서만 사용할 수 있습니다)


2009 년 4 월부터 메모장 ++ 사이트에서
" 라인 끝을 바꾸는 방법, 따라서 라인 레이아웃을 변경하는 방법 " 이라는 위키 기사가 있습니다.
( 아래답변 에서 georgiecasey 가 언급 함 )

일부 관련 추출에는 다음 검색 프로세스가 포함됩니다.

단순 검색 ( Ctrl+ F), 검색 모드 =Normal

EOL편집 창에서을 선택할 수 있습니다 .

  • 커서를 줄 끝으로 이동하고 Shift+ Right화살표를 입력하십시오 .
  • 또는 EOL마우스 로 선택 하려면 줄 끝에서 시작하여 다음 줄의 시작으로 드래그하십시오. 오른쪽으로 드래그하면 EOL작동하지 않습니다. 수동으로 파일을 복사하여 EOLUnix 파일의 필드에 붙여 넣을 수 있습니다 ( LF-only).

단순 검색 (Ctrl + F), 검색 모드 = 확장

"고급"옵션 쇼 \n\r일치 할 수와 같은 문자.
일반 검색 모드와 마찬가지로 Notepad ++는 정확한 문자를 찾습니다. UNIX 형식 파일에서
검색 \r하면 아무것도 찾지 않지만 검색합니다 \n. 마찬가지로 Macintosh 형식의 파일은 포함 \r하지만 포함 하지는 않습니다 \n.

단순 검색 (Ctrl + F), 검색 모드 = 정규식

정규 표현식은 문자 사용 ^$앵커에 줄의 시작 또는 끝 부분에 일치하는 문자열입니다. 예를 들어, 검색 return;$하면 "return;"이 발견됩니다. 동일한 줄에 후속 텍스트가없는 상태에서 발생합니다. 앵커 문자는 모든 파일 형식에서 동일하게 작동합니다.
'.' 도트 메타 문자가 줄 끝과 일치하지 않습니다.

[Notepad ++ 5.8.5에서 테스트] : 명시 적이 \r거나 \n작동하지 않는 정규식 검색 ( Scintilla 문서와 달리 ) .
EOL을 선택할 때 필드에 배치 된 명시 적 (붙여 넣기) LF 또는 (보이지 않는) EOL 문자를 검색하지 않습니다. 정규 표현식이없는 고급 검색 ( Ctrl+ R)

Ctrl+ M는 개행과 일치하는 것을 삽입합니다. 대체 문자열로 대체됩니다.
정규식을 실제로 사용해야하지 않는 한이 방법을 가장 신뢰할 수있는 방법으로 권장합니다.
예를 들어, 이중 간격 파일에서 두 번째 줄 바꿈을 모두 제거 하려면 검색 문자열 상자에 Ctrl+를 M두 번 입력 하고 문자열 바꾸기 상자에 한 번을 입력하십시오.

Regexp를 사용한 고급 검색 ( Ctrl+ R).

나도 Ctrl+ M, $\r\n일치하지 않습니다.


같은 위키에서도 Hex 편집기 대안을 언급합니다 .

  • 문서의 시작 부분에 새 문자열을 입력하십시오.
  • 그런 다음을 선택하여 16 진 모드로 문서를보십시오 .
  • 새 줄 중 하나를 선택하고 Ctrl+를 누르십시오 H.
  • 바꾸기 대화 상자가있는 동안 배경에서 새 대체 문자열을 선택하고 Ctrl+를 C복사하여 텍스트로 바꾸기 입력에 붙여 넣으십시오.
  • 그런 다음 원하는대로 모두 바꾸거나 모두 바꿉니다.

참고 : 새 줄에 선택된 문자는 일반적으로로 나타납니다 0a.
파일이 Windows 형식 인 경우 다른 값을 가질 수 있습니다. 이 경우 언제든지로 갈 수 Edit -> EOL Conversion -> Convert to Unix Format있으며 교체 후에는로 다시 전환하십시오 Edit -> EOL Conversion -> Convert to Windows Format.


1
v 4.7을 실행 중입니다. 최신 버전으로 업그레이드하고 확장 모드는 알려진대로 작동합니다. 응답 한 모든 사람에게 감사합니다.
polara

+1 : 4.6을 실행 중이며 비슷한 문제가있었습니다. 그리고 귀하의 답변 덕분에 5+로 업그레이드했습니다. 감사!
paercebal

효과가있다! 그러나 이것은 메모장 + + RegExp을 빨아들입니다. UltraEdit-32는 더 똑똑합니다. \ n 만 있으면되고 작업을 마쳤습니다.
thenonhacker

\ r \ n 저를 위해 일했지만 \ n은 아닙니다. \ n \ n의 속기에 익숙한 개발자라면 일종의 반 직관적입니다.
Warren P

2
@GarretWilson 나는 [^\r]\n잘 작동 하는지 확인 합니다 (정규 검색) : i.stack.imgur.com/PxZWD.png
VonC

22

이것은 FAQ 이며 제안 된 해결책은 다음과 같습니다.

정규 표현식이없는 간단한 검색 (Ctrl + H)

View / Show End of Line 또는 View / Show All을 켜고 지금 보이는 개행 문자를 선택할 수 있습니다. 그런 다음 명령을 시작할 때 줄 바꿈 문자와 일치하는 일부 문자가 검색 필드에 붙여 넣어집니다. 정규식 모드와 달리 일치 항목은 바꾸기 문자열로 바뀝니다.

참고 1 : 마우스로 선택하면 바로 시작하여 다음 줄의 시작 부분으로 끕니다. 줄 끝으로 드래그하면 작동하지 않습니다.

참고 2 : 복사하여 필드에 직접 붙여 넣을 수는 없습니다.

정규 표현식이없는 고급 검색 (Ctrl + R)

Ctrl + M은 개행과 일치하는 것을 삽입합니다. 대체 문자열로 대체됩니다.


2
Ctrl + M을 사용하여 바꾸기 문자열에도 줄 바꿈을 삽입 할 수 있습니다.
Dusty Campbell

2
이것은 다른 훌륭한 제품의 디자인 사마귀이기 때문에 FAQ입니다.
Warren P

11

바꾸기 대화 상자에서 검색 모드를 "확장"으로 설정하려고합니다. 일반 또는 정규식 모드가 작동하지 않습니다.

그런 다음 "\ r \ n"(또는 UNIX 파일의 경우 \ n 또는 mac 형식 파일의 경우 \ r)을 찾아서 원하는대로 바꾸십시오.


이 답변은 글을 쓸 때 구식이었습니다. \r2001 년 이후 Mac은 사용되지 않았습니다 ... (지금은 유닉스입니다)
Jasper

9

찾기 / 바꾸기 창에서 \ r \ n 정규 표현식을 사용하여 운이 좋지 않았습니다.

그러나 이것은 메모장 ++ v4.1.2에서 작동합니다.

  1. "보기 | 줄 끝 표시"메뉴를 사용하여 줄 끝 문자를 표시 할 수 있습니다. 캐리지 리턴 라인 피드는 단일 음영 CRLF '문자'로 표시되어야합니다.

  2. CRLF '문자'중 하나를 선택하십시오 (커서를 한 문자 바로 앞에 놓고 SHIFT 키를 누른 상태에서 RIGHT CURSOR 키를 한 번 누름).

  3. CRLF 문자를 클립 보드에 복사하십시오.

  4. 찾기 또는 찾기 / 바꾸기 대화 상자가 열려 있지 않은지 확인하십시오 .

  5. 찾기 / 바꾸기 대화 상자를 엽니 다. '찾을 내용'필드에는 클립 보드의 내용이 표시됩니다.이 경우 CRLF 문자-2 개의 '상자 문자'로 표시됩니다 (아마 인쇄 할 수없는 문자입니까?).

  6. '정규 표현식'옵션이 꺼져 있는지 확인하십시오.

이제 원하는대로 계산, 찾기 또는 교체 할 수 있어야합니다.



4

내가 작동하는 방법은 바꾸기 기능을 사용하고 "확장"모드에서 "\ n"을 사용하는 것입니다. 버전 5.8.5를 사용하고 있습니다.


1
이 페이지에서 작동하는 몇 안되는 항목 중 하나입니다. notepadd ++ 사용하기 5.8.6. 이 간단한 것을 믿기 어려우면이 스레드에서 주어진 지나치게 복잡하고 종종 작동하지 않는 답변이 필요합니다.
앤드류 S

4

2013 년 v6.13 이상에서는 다음을 사용하십시오.

메뉴 편집EOL 변환Windows 형식 .


CRLF를 하나 이상의 임의 문자로 바꾸는 일반적인 경우에는 적용되지 않습니다. 또는 하나 이상의 임의 문자를 CRLF로 바꿉니다 (예 : 공백 문자를 CRLF로 바꿉니다).
피터 Mortensen

2

"정규 표현식"검색이 있다고 가정하면 \ r \ n을 찾으십시오. 일부 파일은 캐리지 리턴을 사용하지 않기 때문에 \ r? \ n을 선호합니다.

편집 : 의견을 보내 주셔서 감사합니다. 나는 당신이 피드백을 제공하지 않았기 때문에 아무것도 알지 못했습니다. 왜 이것이 잘못 되었습니까?


1
왜 작동하지 않는지 확실하지 않지만 작동하지 않습니다. 메모장 ++ 에서이 정규식 구현은 한 번에 한 줄만 확인하고 새 줄 문자는 무시한다고 가정합니다. 아마 당신이 투표 한 이유 일 것입니다.
frank hadder

1
네. regex는 notepad ++에서 한 줄씩 표시되므로 EOL에서 $와 위치를 일치시킬 수 있지만 줄 경계를 넘는 표현식을 검색 / 교체 할 수는 없습니다.
Warren P

2

고급 검색 옵션 ( Ctrl+ R)을 사용하고 CRLF ( Ctrl+ M) 의 키보드 단축키를 사용하여 캐리지 리턴을 삽입하십시오.


내가 시도했을 때 Ctrl + R이 작동하지 않았습니다. 문서에 이상한 제어 문자 " DC2"를 삽입했습니다 . 메모장 ++ 버전 : 7.5.6 (2018-05-19)
피터 Mortensen

2

\ r \ n을 포함한 복잡한 정규식 교체를 수행해야하는 경우 3 단계 접근 방식으로 제한을 해결할 수 있습니다.

  1. \r\n태그로 모두 교체 #GO#→ 예를 들어 '확장'을 확인 \r\n하고#GO#
  2. 정규 표현식을 수행하십시오 (예 ICON="*": HTML 북마크에서 여러 줄 제거 → 정규 표현식 확인, 바꾸기ICON=.[^"]+.> by >
  3. 뒤로 \ r \ n → '확장'을 확인 #GO#하고\r\n

2

보기로 이동-> 기호 표시-> 모든 문자 표시 // 그것은 나를 위해 일했습니다


1

이 설정을하십시오. 메뉴->보기-> 기호 표시-> 행 끝 표시를 선택 취소하십시오.


1
이것은 원래 질문에 대한 답변이 아닙니다. 이것이 Q & A에 유용한 기여라고 생각하는 이유를 설명하십시오. 유용한 답변을 얻는 방법에 대한 도움말 센터 페이지 도 읽으십시오 .
AdrianHHH

1

메모장 ++에서 파일을 열고 몇 단계로 교체를 수행했습니다.

  1. 모든 "\ r \ n"을 "\ r \ n"으로 바꾸십시오.
  2. 모든 "; \ r \ n"을 "\ r \ n"으로 바꾸십시오.
  3. 모든 "\ r \ n"을 ""로 바꾸십시오.

이렇게하면 모든 나누기가 필요한 위치에 배치되고 파일을 나누는 나누기가 제거됩니다.

그것은 나를 위해 일했다.


1

NP v6.9에서는이를 수행 할 수 없었습니다. Msoft Word (2K)에서 충분히 쉽다는 것을 알았습니다.

문서를 열고 편집-> 바꾸기로 이동하십시오.

그런 다음 검색 창 하단에서 "추가"를 클릭 한 다음 "특별"버튼을 찾으면 몇 가지 사항이 있습니다. Dos 스타일의 경우 "단락"을 사용했습니다. 이것은 Windows 토지의 CR LF 쌍입니다.


0

찾기 필드로 \ r을 수행하고 바꾸기 필드에서 공백으로 바꾸면 모든 것이 한 줄로 올라갑니다. 그런 다음 찾기 및 바꾸기 (내 경우에는 세미 콜론으로)를 수행하고; \ n으로 바꾸십시오.

:) -T & C


1
이것은 기존 답변과 어떻게 다른가요?
모든 노동자는 필수적이다

0

개별 행의 문서를 단일 행으로 변경하려면 각 행을 쉼표로 구분 된 목록에서 하나의 항목을 형성하십시오.

  1. ctrl+ f검색 / 바꾸기 도구를 엽니 다.
  2. "바꾸기"탭을 클릭하십시오.
  3. "찾을 내용"항목을 " \r\n"로 채 웁니다.
  4. " ,"또는 "로 "바꾸기 "항목을 채우십시오., "(기본 설정에 따라 다름)로 .
  5. "전체 단어 일치"확인란 (논리를 피하기 위해 중요한 비트)을 선택 취소 하십시오.
  6. "확장"라디오 버튼을 확인하십시오.
  7. "모두 바꾸기"버튼을 클릭하십시오.

이 단계는 예를 들어

푸 바

바 바즈

바즈 푸

으로:

foo bar, 바 바즈, 바즈 foo

또는 : (환경 설정에 따라)

푸 바, 바 바즈, 바 푸


0

아마도 당신은 TextFX 플러그인을 사용할 수 있습니다

TextFX에서 textfx edit로 이동 → 빈 줄 삭제


0

줄 바꿈 순서를 찾으려면 다음 정규식 구성을 사용하십시오.

\R

연속적인 줄 바꿈 순서 를 찾아서 선택하려면 +after \R:를 추가 하십시오 \R+.

정규식 모드 를 켜십시오 .

여기에 이미지 설명을 입력하십시오

다음과 일치합니다.

  • U+000DU+000A -CRLF` 시퀀스
  • U+000A- LINE FEED, LF
  • U+000B- LINE TABULATION, VT
  • U+000C- FORM FEED, FF
  • U+000D- CARRIAGE RETURN, CR
  • U+0085- NEXT LINE, NEL
  • U+2028 - LINE SEPARATOR
  • U+2029 - PARAGRAPH SEPARATOR
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.