메모장 ++의 모든 줄 끝에 숫자를 어떻게 추가합니까?


37

나는 23,000 줄을 가지고 1있으며 모든 줄 끝에 숫자를 추가해야합니다 .

어떻게해야합니까?

지금:

[line1]TEXT
[line2]TEXT

내가 원하는 것 :

[line1]TEXT1
[line2]TEXT1

2
더 흥미로운; 순차 번호를 순차 행에 어떻게 할당 하시겠습니까? :-)
Carl Witthoft

1
@CarlWitthoft TextFX 패키지 (TextFx> TextFx 도구> 줄 번호 삽입)로 줄 번호를 지정한 다음 줄 번호를 정규 표현식을 사용하여 EOL로 이동합니다.
DavidPostill

2
두 개의 텍스트 줄 사이에 빈 줄이 있으면 그 줄도 1을 가져야합니까?
Nzall

4
:%s/$/1/. 아 그건, 잠깐 . ;-) (어느 입니다 뿐만 아니라 Windows 용 가능.)
DevSolar

1
@DevSolar 또는 :g/$/norm A1. 아니면 더 복잡하지만 더 환상적 gg$<C-v>G$A1<esc>입니다. 또는 틀림없이 독창적 ggqqqqqA1<esc>j@qq@q입니다. 여러 가지 방법 : P
Doorknob

답변:


28

메모장 ++의 모든 줄 끝에 숫자를 어떻게 추가합니까?

  • 메뉴 "검색"> "바꾸기"(또는 Ctrl+ H)

  • "찾을 내용"을 다음으로 설정하십시오. \r\n

  • "바꾸기"를 다음으로 설정 1\r\n

  • "정규 표현식"또는 "확장"사용

    참고- "정규 표현식"은 "확장"의 상위 집합이므로이 특정 경우 사용하는 것이 중요하지 않습니다.

  • "모두 바꾸기"를 클릭하십시오

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

노트:

  • 위는 Windows EOL을 사용하여 텍스트 파일을 편집하고 있다고 가정합니다 \r\n.

  • EOL이 다른 파일을 사용하는 경우 메뉴 "편집"> "EOL 변환"을 사용하여 Windows EOL로 변환 할 수 있습니다.

  • Windows EOL을 사용하지 않고 변환하지 않으려면 다음을 대신 사용하십시오.

    • Unix / OS X EOL \n대신 사용하십시오 \r\n( "찾을 내용"은 \n"바꾸기"는 1\n)

    • Mac OS (최대 버전 9) EOL \r대신 사용 \r\n( "Find what"은 \r"Replace with"는 1\r)


추가 자료


줄 구분자가 windows \ r \ n 인 경우에만 작동합니다.
Zaheylu

4
그렇습니다. 그러나 메모장 ++은 WIndows 프로그램입니다 ...;)
DavidPostill

5
오 당신 말이 맞아 ... :) 아직도, 텍스트 파일은 다른 라인 엔딩 코딩을 가질 수있다;)
Zaheylu

5
Windows EOL로 작업하고 있지 않다면, "변환"할 이유가 없습니다. 그냥 \n또는 \r대신 사용하십시오 (각각 Unix와 Mac EOL). \n=> 1\n또는 \r=> 1\r. 개인적으로 Regex 대신 Extended를 사용 하여이 작업을 더 자주 수행합니다.
WernerCD

2
@WernerCD 단 하나 \r의 기능이없는 Mac OS에만 적용됩니다. 를 사용하는 OS X가 아닙니다 \n.
Bob

19

다른 옵션은 기록 및 재생 기능입니다.

  1. 첫 번째 줄에 커서를 놓고 '녹음 시작'을 클릭하십시오
  2. 입력 End, 1,
  3. '녹화 중지'를 클릭하십시오
  4. '매크로를 여러 번 실행 ...'을 클릭하십시오
  5. '파일 끝까지 실행'을 선택하고 실행을 클릭하십시오.
  6. 작업 완료

스크린 샷

녹화 및 재생

입력 End, 1,

정지를 클릭하십시오

매크로 실행

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

끝난


9
메모장 ++ 매크로는 결코 충분한 사랑을 얻지 못합니다.
armani

15

업데이트 된 답변 :

바꾸기 대화 상자를 열려면 Ctrl+ H를 누르십시오 .

검색 모드에서 정규 표현식을 선택하십시오.

Find what: $

Replace with: 1

그리고 명중 Replace all


원래 답변

바꾸기 대화 상자를 열려면 Ctrl+ H를 누르십시오 .

검색 모드에서을 선택하십시오 Regular Expression.

무엇을 찾다: ^.*$

로 교체 ($0)1

그리고 명중 Replace all

설명

정규식을 검색하고 있습니다. 이는 정규적으로 ^.*$모든 행입니다. ^줄의 시작을 표시하고 .*모든 문자를 여러 번 포함 하며 줄 $의 끝을 표시합니다. 따라서이 정규식은 모든 줄의 모든 내용을 찾습니다.

우리는이 표현을 대체 ($0)1, $0발견 발현되고,과를 추가 1그것.


2
찾기 = $바꾸기 = 1충분합니다.
Salman A

8

아니면 큰 소년처럼 :).

Shift + Alt => 오른쪽 키 (한 번) => 아래쪽 키를 사용하여 마지막 열을 선택하십시오 (마지막 줄까지 누르십시오).

원하는 것을 입력하십시오. 한 번에 모든 줄에 나타납니다.


나는 이것 또한 말할 것 .. 왜 모든 복잡한 reg 표현인가? 이 질문에 완벽하게 대답합니다. 왜 다운 투표? 누군가가 그것이 정답이라는 것을 이해하지 못했기 때문에? Oo
Ditto

2
이것은 23,000 줄에 실용적이지 않을 수 있습니다 (너무 느리거나 그렇지 않으면 ( 페일 러의 화가 알고리즘 으로 인한 메모리 문제 ?)). 실제로 23,000 줄로 시도해 보셨습니까?
Peter Mortensen

2
@PeterMortensen 엄청나게 느리지 만 메모리 사용량은 좋습니다 (5MB => 25MB). 더 큰 문제는 다른 선 길이에 잘 대처하지 못하는 것입니다.
Bob

@Ditto 나는 일반 사용자라고 주장하지 않지만 정규 표현식보다 직관적이지 않습니다. 다시 xkcd.com/1171
David Z

1
이것은 좋은 대답이 아닙니다. 먼저 가장 긴 줄을 찾아야합니다. 그런 다음 마지막 줄까지 눌러야합니다.이 방법을 테스트하는 동안 수십 줄을 지루한 후에 지루해했습니다. 20k + 라인
Aequitas 5

1

동일하게 긴 문자열 인 경우 누르고 Alt클릭하여 드래그하여 선택을 차단하고 동시에 여러 줄에 쓸 수 있습니다. 길이가 같지 않지만 공백으로 구분되지 않은 경우 동일한 절차를 수행 한 다음 ""를 ""로 바꿀 수 없습니다.


3
때로는이 기능을 사용하지만 23,000 줄로 끌고 있습니다.별로 재미 있지 않습니다 :)
Denham Coote

1

확장 모드.

다른 답변에서 언급되지 않은 약간 다른 접근법 인 확장 모드를 추가하고 싶었습니다.

이 같은 용 - 모두가 당신이에 관심을하다 \r, \n, \t또는에 포함 된 다른 사람들 이 작은 목록 (해당 페이지의 외모가 진실성에 그렇게 100 % 확실 "일자"로하지만) 일반에서 전체 갈 이유가 없다 표현.

필자는 메모장 ++의 확장 모드 "종종"을 사용하여 파일 레이아웃을 마사지합니다. 주로 여러 개의 빈 줄, 여분의 공백 및 기타 여러 가지 이상한 점을 제거합니다.

펼친

  1. 메뉴 "검색"> "바꾸기"(또는 Ctrl+ H)
  2. 원하는 줄 끝을 결정하십시오.
  3. "찾을 내용"에서 다음을 입력하십시오.
    • \r\n Windows 용
    • \r 이전 버전의 MacOS (9 이상)
    • \n Unix 이상 MacOS (OS X 이상)
  4. "바꾸기"를 다음으로 설정
    • 1\r\n Windows 용
    • 1\r 이전 버전의 MacOS (9 이상)
    • 1\n Unix 이상 MacOS (OS X 이상)
  5. "확장"사용
  6. "모두 바꾸기"를 클릭하십시오

"정규 표현식"은 "확장 된"의 상위 집합이므로이 특정한 경우 어떤 것을 사용하든 상관 없습니다.
DavidPostill

\nUnix 및 \r이전 버전의 MacOS 가 아니어야합니까 ? Wikipedia의 첫 글 머리 기호 : en.wikipedia.org/wiki/Newline#Representations
nhahtdh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.