Làm cách nào để xóa 27 ký tự đầu tiên khỏi mỗi dòng Notepad ++?


59

Tôi có một tệp nhật ký và tôi cần xóa 27 ký tự đầu tiên khỏi mỗi dòng. Bạn sẽ có một dòng như thế này:

2011-09-25 01:25:29 [INFO] <Exazoro> wazup

Nhưng nó cần phải như thế này:

<Exazoro> wazup

bạn có thể sử dụng một số biến của lệnh cắt unix từ unxutils hoặc busybox để thực hiện điều đó dễ dàng hơn nhiều - nó có phải là notepad ++ không?
Journeyman Geek

@JTHERmanGeek không cần phải là notepad ++, tôi chỉ sử dụng và nó có hỗ trợ macro và plugin nên tôi đoán có thể có một cái gì đó để làm điều đó.
Chuyện hoang đường

Câu trả lời:


78

Sử dụng tìm kiếm biểu thức chính quy, tìm kiếm ^...........................và thay thế bằng (chuỗi trống) .

nhập mô tả hình ảnh ở đây

Thật không may, Notepad ++ không hỗ trợ số lần lặp lại như thế ^.{27}- tài liệu regrec SciTE cũng áp dụng ở đây.


Hoặc, sử dụng lựa chọn nhiều dòng hình chữ nhật (nhấn Alttrong khi chọn) để chọn 27 ký tự đầu tiên trong mỗi dòng, sau đó nhấn Deletehoặc Backspace.

nhập mô tả hình ảnh ở đây


Sử dụng các công cụ Unix (ví dụ Cygwin, UnxUtils) bạn có thể sử dụng cut -c28-hoặc sed -E "s|^.{27}||"thay vào đó. Ít nhất, đây là các lệnh gọi Linux mà bạn sử dụng ...


24
Alt + Shift + phải để chọn 27 ký tự ở hàng đầu tiên, sau đó PGD trong khi vẫn giữ Alt + Shift sẽ làm điều đó
icc97

1
Đối với regex, Notepad ++ không tuân theo tất cả các quy tắc regex tiêu chuẩn, vì vậy tôi không ngạc nhiên khi bạn không thể làm cho nó hoạt động. Và vì có vẻ như 27 ký tự đầu tiên là ngày, thời gian và mức độ lỗi, một regex có nhiều thông tin hơn có thể có thể, như^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley

4
Yêu các Altlựa chọn hình chữ nhật !!
Gromer

Lựa chọn Alt đơn giản và dễ dàng. Cảm ơn Daniel Beck.
Uday Kiran Thummalapalli

1
ồ cảm ơn vì mẹo chọn hình chữ nhật đó ... Tôi thậm chí còn không biết rằng có một thứ như thế tồn tại ...
Fr0zenFyr

19

Trong các phiên bản mới hơn của Notepad ++, bạn có thể sử dụng số lần lặp lại. Chỉ cần thay thế ^.{1,27}bằng chuỗi trống.


7
Tất nhiên, nếu nó được đảm bảo chính xác là 27 ký tự, chỉ cần sử dụng ^.{27}.
Schism

5

Dưới đây là cách vĩ mô. Điều này trực quan hơn cho những người không có kỹ thuật:

1) Đặt con trỏ trên dòng đầu tiên (bất kỳ vị trí con trỏ)

2) Nhấp: Macro -> Bắt đầu ghi

3) Thực hiện các hoạt động nhấn phím sau:

* Press the Home key  
* Press Delete key 27 times (till you reach the intended character)
* Press down arrow button. 

4) Nhấp: Macro -> Dừng ghi

5) Nhấp: Chạy Macro Nhiều lần -> chọn Chạy cho đến khi kết thúc tệp -> bấm Chạy.


4

CẬP NHẬT: Bây giờ Notepad ++ không hỗ trợ lặp lại sau: ^.{27} Nhưng bây giờ, notepad ++ sẽ lặp lại xóa các ký tự cho đến hơn 27, để tránh điều này, bạn có thể sử dụng biểu thức sau:

  • Tìm cái gì: ^.{27}(.*)$
  • Thay bằng: $1

Điều này hoạt động hoàn hảo!
Rudy

2

một cải tiến nhỏ cho câu trả lời của Daniel Beck:
Sử dụng tìm kiếm biểu thức thông thường, tìm kiếm:

^...........................(.*.\r\n) 

và thay thế bằng:

\1

0

có thể chỉ cần chọn văn bản với nút ALT + chuột trái


Bạn có thể giải thích thêm về điều này một chút?
Toto

0

ALT + Shift + Lựa chọn chuột (chỉ ALT không hoạt động)

Chỉ vào phần đầu của tệp, đi đến phần cuối giữ ALT + SHIFT và chỉ vào vị trí bạn muốn ...

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.