Làm cách nào để thêm một số ở cuối mỗi dòng trong Notepad ++?


35

Tôi có 23.000 dòng và tôi cần thêm số 1 ở cuối mỗi dòng.

Tôi có thể làm cái này như thế nào?

Ngay bây giờ:

[line1]TEXT
[line2]TEXT

Những gì tôi muốn:

[line1]TEXT1
[line2]TEXT1

2
Thú vị hơn; Làm thế nào bạn có thể gán các số liên tiếp cho các dòng liên tiếp? :-)
Carl Witthoft

1
@CarlWitthoft Đánh số các dòng bằng gói TextFX (TextFx & gt; Công cụ TextFx & gt; Chèn số dòng) và sau đó di chuyển số dòng sang EOL bằng biểu thức chính quy.
DavidPostill

2
Nếu có một dòng trống giữa 2 dòng văn bản, dòng đó cũng có được 1 không?
Nzall

4
:%s/$/1/. Đợi đã, đó là Vim . ;-) (Mà cũng có sẵn cho Windows.)
DevSolar

1
@DevSolar Cách khác, :g/$/norm A1. Hoặc phức tạp hơn nhưng huyền ảo hơn gg$<C-v>G$A1<esc>. Hay thậm chí là đáng ghét ggqqqqqA1<esc>j@qq@q. Nhiều hơn một cách để làm điều đó: P
Doorknob

Câu trả lời:


27

Làm cách nào để thêm một số ở cuối mỗi dòng trong Notepad ++?

  • Menu "Tìm kiếm" & gt; "Thay thế" (hoặc Ctrl + H )

  • Đặt "Tìm gì" thành \r\n

  • Đặt "Thay thế bằng" thành 1\r\n

  • Bật "Biểu thức chính quy" hoặc "Mở rộng"

    Lưu ý - "Biểu thức chính quy" là phần thay thế của "Mở rộng", vì vậy trong trường hợp cụ thể này, bạn không sử dụng loại nào.

  • Nhấp vào "Thay thế tất cả"

Enter image description here

Ghi chú:

  • Ở trên giả định rằng bạn đang chỉnh sửa tệp văn bản với Windows EOLs, \r\n.

  • Nếu bạn đang sử dụng các tệp có EOL khác nhau, bạn có thể chuyển đổi chúng thành Windows EOL bằng Menu "Chỉnh sửa" & gt; "Chuyển đổi EOL".

  • Nếu bạn không làm việc với Windows EOL và bạn không muốn chuyển đổi chúng, hãy sử dụng cách sau:

    • Sử dụng \n thay vì \r\n cho EOLs Unix / OS X ("Tìm gì" là \n, "Thay thế bằng" là 1\n )

    • Sử dụng \r thay vì \r\n cho Mac OS (tối đa phiên bản 9) EOLs ("Tìm gì" là \r, "Thay thế bằng" là 1\r )


đọc thêm


Điều này chỉ hoạt động nếu dấu phân cách dòng là windows, \ r \ n.
Zaheylu

4
Có, nhưng Notepad ++ là chương trình WUsows ...;)
DavidPostill

5
Oh bạn đúng ... :) Tuy nhiên, tệp văn bản có thể có dòng mã kết thúc khác;)
Zaheylu

5
Nếu bạn không làm việc với windows EOL, không có lý do gì để "chuyển đổi" chúng ... chỉ cần sử dụng \n hoặc là \r thay vào đó (Unix và Mac EOLs tương ứng). \n = & gt; 1\n hoặc là \r = & gt; 1\r. Tôi làm công việc này thường xuyên hơn với Extended thay vì Regex cá nhân.
WernerCD

2
@WernerCD Cần lưu ý rằng một \r chỉ áp dụng cho hệ điều hành Mac không còn tồn tại. Không phải OS X, sử dụng \n.
Bob

18

Một tùy chọn khác là tính năng ghi và phát lại.

  1. Với con trỏ trên dòng đầu tiên, Nhấp vào 'Bắt ​​đầu ghi'
  2. Kiểu Kết thúc , 1 ,
  3. Nhấp vào 'Dừng ghi âm'
  4. Nhấp vào 'Chạy Macro nhiều lần ...'
  5. Chọn 'Chạy cho đến khi kết thúc tệp' và nhấp Chạy
  6. Công việc hoàn thành

Ảnh chụp màn hình

record and playback

Kiểu Kết thúc , 1 ,

Click on stop

Run Macro

enter image description here

Done


8
Macro Notepad ++ không bao giờ có đủ tình yêu.
armani

15

Cập nhật câu trả lời:

Đánh Ctrl + H để mở Hộp thoại Thay thế.

Trong chế độ tìm kiếm, đánh dấu vào Biểu thức chính quy.

Find what: $

Replace with: 1

Va đanh Replace all


Câu trả lời gốc

Đánh Ctrl + H để mở Hộp thoại Thay thế.

Trong chế độ tìm kiếm, đánh dấu Regular Expression.

Tìm cái gì: ^.*$

Thay bằng ($0)1

Va đanh Replace all

Giải trình

Bạn đang tìm kiếm biểu thức chính quy ^.*$, mà về cơ bản là mỗi dòng. ^ đánh dấu sự khởi đầu của một dòng .* bao gồm bất kỳ nhân vật nào với số lần và $ đánh dấu sự kết thúc của dòng Vì vậy, biểu thức chính quy này tìm thấy tất cả nội dung trên mỗi dòng.

Chúng tôi thay thế biểu thức này bằng ($0)1, $0 là biểu thức tìm thấy và nối thêm một 1 với nó


2
Tìm = $ và thay thế = 1 là đủ.
Salman A

8

Hoặc làm điều đó như các chàng trai lớn làm :).

Chọn cột cuối cùng bằng Shift + Alt = & gt; phím phải (một lần) = & gt; phím xuống (nhấn cho đến dòng cuối cùng).

Nhập bất cứ điều gì bạn muốn. Nó sẽ xuất hiện trên tất cả các dòng cùng một lúc.


Tôi cũng sẽ nói điều này .. tại sao tất cả các biểu thức reg phức tạp? Điều này trả lời câu hỏi hoàn hảo .. và tại sao bỏ phiếu xuống? bởi vì ai đó không hiểu rằng đó là một câu trả lời hợp lệ? Ôi
Ditto

1
Điều này có thể không thực tế đối với 23.000 dòng (quá chậm hoặc ngược lại (vấn đề bộ nhớ do Thuật toán của họa sĩ Shlemiel ?)). Bạn đã thực sự thử nó trên 23.000 dòng?
Peter Mortensen

2
@PeterMortensen Rất chậm, nhưng sử dụng bộ nhớ vẫn ổn (5 MB = & gt; 25 MB). Vấn đề lớn hơn là nó dường như không đối phó tốt với các độ dài dòng khác nhau.
Bob

@Ditto Tôi không khẳng định mình là người dùng trung bình, nhưng điều này có vẻ ít trực quan hơn so với biểu thức thông thường. Sau đó một lần nữa, xkcd.com/1171
David Z

1
Đây không phải là một câu trả lời hay, trước tiên bạn cần tìm dòng dài nhất, sau đó bạn sẽ cần nhấn xuống dòng cuối cùng, trong khi thử nghiệm phương pháp này tôi đã chán sau vài chục dòng, tôi không thể ngồi đó 20k + dòng
Aequitas

1

Nếu nó là các chuỗi dài bằng nhau, thì bạn có thể giữ Alt và nhấp và kéo để chặn chọn và có thể viết trên nhiều dòng cùng một lúc. Nếu chúng không dài bằng nhau, nhưng không cách nhau khoảng trắng, bạn không thể thực hiện cùng một quy trình và sau đó thay thế "" bằng "".


3
Đôi khi tôi sử dụng tính năng này, nhưng kéo theo 23.000 dòng ... Không thú vị lắm :)
Denham Coote

1

Chế độ mở rộng.

Tôi muốn thêm một cách tiếp cận hơi khác mà không được đề cập trong các câu trả lời khác: Chế độ mở rộng.

Đối với một cái gì đó như thế này - nơi mà tất cả những gì bạn quan tâm là \r, \n, \t hoặc những người khác bao gồm trong danh sách nhỏ này .

Tôi sử dụng chế độ mở rộng "thường xuyên" của Notepad ++ để xoa bóp bố cục tệp - chủ yếu tập trung xung quanh loại bỏ nhiều dòng trống, khoảng trắng thêm và các loại khác lạ.

Extended

  1. Menu "Tìm kiếm" & gt; "Thay thế" (hoặc Ctrl + H )
  2. Xác định cái nào kết thúc dòng bạn muốn
  3. Trong "Tìm gì" đặt:
    • \r\n cho cửa sổ
    • \r cho các phiên bản cũ hơn của MacOS (9 trở lên)
    • \n cho Unix hoặc mới hơn của MacOS (OS X hoặc mới hơn)
  4. Đặt "Thay thế bằng" thành
    • 1\r\n cho cửa sổ
    • 1\r cho các phiên bản cũ hơn của MacOS (9 trở lên)
    • 1\n cho Unix hoặc mới hơn của MacOS (OS X hoặc mới hơn)
  5. Kích hoạt "Mở rộng"
  6. Nhấp vào "Thay thế tất cả"

"Biểu thức chính quy" là một siêu từ "mở rộng", vì vậy trong trường hợp cụ thể này không quan trọng bạn sử dụng cái nào.
DavidPostill

Không nên \n cho Unix và \r cho phiên bản cũ hơn của MacOS? Viên đạn đầu tiên từ Wikipedia: vi.wikipedia.org/wiki/Newline#Repftimeations
nhahtdh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.