메모장 ++에서 첫 번째 열 이후의 모든 것을 어떻게 삭제할 수 있습니까?


40

메모장 ++의 열 뒤에있는 모든 것을 제거하려고합니다. 열 모드는 옵션이 아닙니다. 가능합니까?

내가 가진 것 :

70.97.110.40    159 ms          [n/a]                   21              
70.97.117.177   134 ms          [n/a]                   21              
70.97.120.10    75 ms           [n/a]                   21              
70.97.122.105   87 ms           www.portless.net        21              
70.97.122.106   89 ms           www.popovetsky.org      21              
70.97.122.107   95 ms           www.psmythe.net         21              
70.97.122.104   98 ms           wasabi.prostructure.com 21              
70.97.122.108   89 ms           crm.prostructure.com    21              
70.97.122.109   87 ms           internal.prostructure.com21 

내가 원하는 것 :

70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109

2
열이 탭으로 구분되어 있습니까?
Excellll

3
한 가지 더 질문 : 보관하려는 데이터에 공백이 포함되어 있습니까?
Excellll

1
아니, 난 단지 IP를 필요
밥 J

20
메모장에서 왜 그렇게하고 싶습니까? 열 모드가 옵션이 아닌 이유는 무엇입니까?
Kamil

1
열 모드를 사용하여 EOL에 대한 두 번째 열을 삭제 한 다음 트림 트레일 링을 사용하여 공백을 제거 할 수 있습니다.
케이시 쿠볼

답변:


60

첫 번째 열의 데이터에 공백이 없으면 정규식 찾기 및 바꾸기를 사용하여 원하는 것을 얻을 수 있습니다.

정규식 모드에서 다음을 검색하십시오.

^([^ ]*).*

그리고

\1

이것이하는 일 :

^일치는 줄의 시작 부분에서 시작해야 함을 나타냅니다.
([^ ]*)공백이없는 표현식입니다. 경기는 욕심이 많기 때문에 모든 것이 첫 번째 공간 (또는 줄의 끝 중 하나)에 일치합니다.
.*라인에 다른 모든 것입니다.

\1괄호 안의 일치 부분을 나타냅니다. 즉, 전체 행이 첫 번째 열의 비트로 대체됩니다.


5
notepad ++는 검색 대치에서 정규 표현식을 지원합니다.
Kamil

1
데이터에 공백이없는 한 Regex가 작업을 수행합니다. UNIX 'cut'명령이 더 간단하지만 Windows에서 UNIX 명령을 수행하는 것은 '다른 문제'가 아닙니다. 열 구분 기호를 사용하거나 문자 수를 기준으로 잘라내기를 수행하고 대용량 파일을 빠르게 처리합니다.
Karl

31
이 작업은 훨씬 간단하게 수행 할 수 있습니다. ". *"(앞의 공백 참고)를 ""(즉, 아무것도 없음)으로 바꾸면 첫 번째 공백 이후를 포함하여 모든 것을 삭제합니다.
Fraxtil

2
@Fraxtil 감사합니다. 답변으로 게시해야합니다. 당신은 나에게 공감대를 얻을 것이다.
Excellll

@Excellll 알았어.
Fraxtil

99

다음은 동일한 효과를 얻는 데 사용할 수있는 더 간단한 정규식입니다. 바꾸다

 .*

(앞 공간을 참고하십시오)

아무것도없이. 첫 번째 공백 이후를 포함하여 모든 것이 삭제됩니다. 이는 IP 주소 앞에 공백이없는 한 작동합니다 (예에서와 같이).


8
사람, 정규식은 순수한 마법입니다. 나는 :) 내가 그것을 grok 수 있습니다 생각하지 않는다
의 Torben Gundtofte-Bruun은에게

14
플래그가 있는지 확인하십시오. 개행과 일치하지 않습니다.
Taemyr

3
공간이 아닌 [ \t].*
탭일

4
@Cornstalks \s.*가 짧습니다. \s+.*임의의 양의 공백과 일치시키기 위해을 사용할 수도 있습니다 . 이제 방어 적으로 코딩하고 있습니다.
Anko

1
한 문장에서 "regex"와 "simple"을 말하지 않는 한 @ jpmc26 :)
Torben Gundtofte-Bruun

39

Windows를 사용 중이고 후행 공백이 마음에 들지 않으면 (나중에 찾거나 교체 할 수있는 경우) 블록 선택 기능을 사용 하십시오 .

  1. Alt키를 길게 누릅니다
  2. 마우스를 사용하여 삭제할 부분 (전체 텍스트 블록)을 선택하십시오.
  3. 릴리스 Alt키를
  4. 해당 텍스트 블록 삭제
  5. 필요에 따라 반복

빼기 "-"키 여야합니까?
Dracs

죄송합니다. 'alt'키 주위에 LT 및 GT 괄호를 사용했습니다. 지금 수정했습니다.
Reed Shilts

10
<kdb> Alt </ kbd>로 변경할 수 있으며 키 형식으로 지정됩니다.
Dracs

나는 메모장을 영원히 사용하고 있습니다 ... ...이 기능이 존재한다는 것을 결코 알지 못했습니다! 1 Bazillion +1 !!!!!

1
OP는 말했다 : "열 모드는 옵션이 아니다"
Peter Mortensen

11

정규 표현식은 빨리이지만, 좀 더 복잡한 작업 인 경우에는 매크로 정말 까다로운 일을 할 수있다.

매크로를 기록 할 수 있습니다.

  1. 1 행의 커서
  2. 적중 녹화 시작
  3. 홈을 누르십시오
  4. 홀드 Ctrl는 키를 누른 상태 Right arrow(일곱 번)
  5. 잡고 Shift당신이 키를 누른 상태End
  6. 키를 누릅니다 Delete
  7. 키를 누릅니다 Down arrow
  8. 히트 Stop recording

그런 다음 재생하십시오.

  1. "매크로를 여러 번 실행"히트
  2. 첫 번째 행이 완료되었으므로 문서에서 1을 뺀 행을 입력하십시오.

9

뒤에 커서를 놓습니다 70.97.110.40.

커서 배치

을 누르고 Alt커서를 오른쪽과 아래쪽으로 드래그하여 원하지 않는 부분을 선택하십시오.

고르다

Backspace또는을 누릅니다 Delete.

지우다


1
이번에는 메모장 ++를 사용했는데 TextPad와 같은 "Block Select Mode"가 있다는 것을 결코 알지 못했습니다.
Kev

@ Kev : Visual Studio에서 동일한 방식으로 작동합니다.
Peter Mortensen

1
OP는 말했다 : "열 모드는 옵션이 아니다"
Peter Mortensen

@PeterMortensen-re : VS-지옥, 2002 년부터 그것을 사용하고 있었고 심지어 몰랐습니다!
Kev

8

주어진 답변에 대한 몇 가지 대체 방법이 있습니다.

data가 fixed width인 경우 검색에 다음 정규식을 사용할 수도 있습니다 .

무엇을 찾다: ^(.{16}).*$

다음으로 교체하십시오. \1

누군가가 언급했듯이 유지하려는 데이터에 공백이 있으면 좋습니다. 또한 고정 너비 데이터의 경우 다시 사용할 수 있습니다 Column Mode Editing. 동일한 열 위치에서 여러 줄의 데이터를 편집 할 수있는 깔끔한 기능입니다. 열 모드 편집을 참조하십시오 .

그것은 화살표 키를 언급하고 있습니다,하지만 당신은 또한 사용할 수 있습니다 Page Up/Down뿐만 아니라, 빠른 방법에 대한 EndHome키. 마우스도 작동합니다. 그러나 특정 지점 이후에 데이터를 삭제하는 임시 방법, 특히 몇 줄에 불과한 경우이 방법을 사용할 수 있습니다. 데이터 복사에도 좋지만 붙여 넣는 방식이 약간 이상하므로 먼저 익숙해지기를 원합니다.


1
(? <= ^. {13}). *와 같은 룩백을 사용하고 아무것도 사용하지 않는 것이 좋습니다. 처음 13 자 이후의 항목이 선택됩니다.
Chris Murray

4

enthdegree와 비슷한 :

  1. 열 16에 커서 놓기
  2. Shift+ Alt+Page Down
  3. Shift+ Alt+End
  4. Delete

파일 끝에 빈 줄이 있으면 Up Arrow# 3 이전에 누르십시오 .

완벽하지는 않지만 편리합니다.


4
  1. ALT마우스를 올가미로 사용하는 동안 누릅니다 .
  2. 제거 할 항목을 모두 선택하십시오.
  3. 프레스 DELETE

첫 번째 열이 IP 주소와 같이 잘 정렬되어 있다고 가정하면 이것이 가장 빠른 방법입니다.
bgStack15

OP는 말했다 : "열 모드는 옵션이 아니다"
Peter Mortensen

3

시각적 인 방법은 다음과 같습니다.

  • IP 주소 끝에 커서를 놓습니다.
  • Alt+ Shift+Pg Down
  • Alt+Shift+Right
  • Delete

이것은 '열 기반'이 아닙니다. IP 주소가 모두 정렬되어 있기 때문에 작동합니다.


1
"이것은 '열 기반이 아닙니다'"는 무엇을 의미합니까? Alt + Shift + 화살표는 "열 모드"로 전환됩니다.
MrWhite

탭 설명을 열로 간주하지 않습니다. 선택 영역의 각 줄이 선택 시작점의 가장자리 너머에 동일한 문자 수를 갖도록 공백으로 나눕니다.
enthdegree

1

정규식 모드에서 다음을 검색하십시오.

\티.*

그리고

아무것도


이 작업을 설명하기 위해 한두 문장을 추가 할 수 있습니까? 감사.
fixer1234

1
스택 교환은 표시하는 동안 탭을 공백으로 변환하지만 편집 모드에서도이 예에는 탭이 표시되지 않습니다.
Arjan

0

메모장 ++에서 첫 번째 열 이후의 모든 것을 삭제하십시오.

  1. 두 번째 열을 선택하십시오 : Alt+ 드래그
  2. 나머지 열을 선택하려면 간단히 Right Arrow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.