Jak usunąć pierwsze 27 znaków z każdej linii Notepad ++?


59

Mam plik dziennika i muszę usunąć pierwsze 27 znaków z każdej linii. Miałbyś taką linię:

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

Ale musi tak być:

<Exazoro> wazup

możesz użyć jakiegoś wariantu polecenia cięcia unix z unxutils lub busybox, aby zrobić to o wiele łatwiej - czy to musi być notepad ++?
Journeyman Geek

@JourneymanGeek to nie musi być notatnik ++, tylko używam głównie i ma obsługę makr i wtyczek, więc domyślam się, że może być coś takiego.
Mythrillic,

Odpowiedzi:


78

Użyj wyszukiwania wyrażeń regularnych, wyszukaj ^...........................i zamień na (pusty ciąg) .

wprowadź opis zdjęcia tutaj

Niestety, Notepad ++ nie obsługuje takich powtórzeń, jak ^.{27}- dokumentacja wyrażeń regularnych SciTE ma tutaj również zastosowanie.


Alternatywnie użyj prostokątnego zaznaczenia wieloliniowego (naciśnij Altpodczas wybierania), aby wybrać pierwsze 27 znaków w każdym wierszu, a następnie naciśnij Deletelub Backspace.

wprowadź opis zdjęcia tutaj


Używając narzędzi uniksowych (np. Cygwin, UnxUtils) możesz użyć cut -c28-lub sed -E "s|^.{27}||"zamiast tego. Przynajmniej są to wywołania linii poleceń Linuksa, których użyjesz ...


24
Alt + Shift + prawo, aby wybrać 27 znaków w pierwszym rzędzie, a następnie Pg Dn, trzymając nadal Alt + Shift, powinno to zrobić
icc97

1
W przypadku wyrażenia regularnego Notepad ++ nie przestrzega wszystkich standardowych reguł wyrażeń regularnych, więc nie jestem zaskoczony, że nie udało się go uruchomić. A ponieważ wygląda na to, że pierwszych 27 znaków to data, godzina i poziom błędu, możliwe jest uzyskanie bardziej pouczającego wyrażenia regularnego, na przykład^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley,

4
Uwielbiam Altprostokątny wybór !!
Gromer

Alt wybór prosty i łatwy. Dzięki Daniel Beck.
Uday Kiran Thummalapalli

1
łał! dzięki za tę prostokątną wskazówkę dotyczącą wyboru ... Nawet nie wiedziałem, że coś takiego istnieje ...
Fr0zenFyr

19

W nowszych wersjach Notepad ++ można używać liczników powtórzeń. Po prostu zamień na ^.{1,27}pusty ciąg.


7
Oczywiście, jeśli gwarantowane jest dokładnie 27 znaków, po prostu użyj ^.{27}.
Schism

5

Poniżej znajduje się sposób makro. Jest to bardziej intuicyjne dla osób nietechnicznych:

1) Umieść kursor w pierwszym wierszu (dowolna pozycja kursora)

2) Kliknij: Makro -> Rozpocznij nagrywanie

3) Wykonaj następujące czynności związane z naciśnięciem klawisza:

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

4) Kliknij: Makro -> Zatrzymaj nagrywanie

5) Kliknij: Uruchom makro wiele razy -> wybierz Uruchom do końca pliku -> kliknij Uruchom.


4

UPD: Teraz Notepad ++ obsługuje następujące powtórzenia: ^.{27} Ale teraz notatnik ++ będzie powtarzał usuwanie znaków do więcej niż 27, aby tego uniknąć, możesz użyć następującego wyrażenia:

  • Znajdź co: ^.{27}(.*)$
  • Zamienić: $1

to działa idealnie!
Rudy

2

mała poprawka do odpowiedzi Daniela Becka:
Użyj wyszukiwania wyrażeń regularnych, wyszukaj:

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

i zamień na:

\1

0

może po prostu zaznacz tekst za pomocą ALT + lewy przycisk myszy


Czy możesz coś więcej rozwinąć?
Toto

0

ALT + SHIFT + wybór myszy (tylko ALT nie działa)

Wskaż na początku pliku, przejdź do końca przytrzymaj ALT + SHIFT i wskaż pozycję, którą chcesz ...

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.