Mam plik dziennika 900 MB, który mogę otworzyć w SublimeText 3. Ten plik jest rozdęty i zawiera wiersze podobne do poniższych.
10/08/2014 23:45:31:828,Information,,,,ExportManager: ,No records to send and/or not connected
Jak mogę odfiltrować wszystkie wiersze, które zawierają No records to send and/or not connected
sublimetext
sublimetext3
energ1ser
źródło
źródło
Odpowiedzi:
Możesz wyszukiwać i zamieniać wyrażenia regularne:
Kliknij Znajdź> Zamień.
Upewnij się, że przycisk Wyrażenie regularne jest wciśnięty.
W polu Znajdź wpisz:
Pozostaw pole Zamień na puste.
Kliknij Zamień wszystko
źródło
^.*No records to send and/or not connected\S.*$
Ctrl+Shift+K
200 000 linii.Dla osób, które nie chcą pisać wyrażenia regularnego - możesz po prostu wybrać szukany ciąg, nacisnąć
ctrl+cmd+g
lub wybrać z menu „Szybkie wyszukiwanie wszystkich”, co spowoduje wybranie każdego pasującego ciągu; stamtądHome
przesunie każdy kursor zaznaczenia na początek wiersza,shift+End
wybierze każdą pasującą linię idel, del
usunie je wszystkie.Edycja wielu kursorów jest fajna!
źródło
Ctrl+Cmd+G
jak sugeruje Leonid, aby wybrać wszystkie te ciągi. Po tym mogłem przejść bezpośrednio do „Usuń linię”Ctrl-Shift-K
i chirurgicznie wszystkie linie z tym ciągiem zostały usunięte w jednej chwili. Sublime Text to naprawdę najlepszy edytor tekstu, jakiego kiedykolwiek używałem.nie mogłem uruchomić wyrażenia regularnego, więc użyłem podejścia Alt-F3 z tej odpowiedzi:
/superuser/452189/how-can-i-filter-a-file-for-lines-containing-a-string-in-sublime-text-2/598999#598999
źródło
CTRL + L
, co rozszerza zaznaczenia na całe wiersze, łącznie z podziałem wiersza.Ctrl+Cmd+G
aby w każdym przypadku używać wielu kursorów,Cmd+L
rozszerzać linie i zwykłe kopiowanie / wklejanieOto, co znalazłem dla użytkowników systemu Windows:
źródło
Żaden z sugerowanych powyżej kodów regex nie działał w moim przypadku, ale zadziałało:
źródło
\n
lub$
na końcu:.*(text in question).*\n
|
sposób:.*(a).*|.*(b).*|.*(c).*
Podczas edycji mapy witryny napotkałem podobny problem
To zadziałało dla mnie:
źródło
Powyższe odpowiedzi są poprawnymi sposobami, ale jeśli chcesz pozbyć się wierszy z nawet jednym ciągiem, zrób to, Znajdź -> Zastąp -> wstaw
^.*[a-zA-Z]+.*\n
w sekcji wyszukiwania i zachowaj zastąpienie pustym. Naciśnij przycisk zamień wszystko, co spowoduje usunięcie wszystkich wierszy zawierających nawet jeden ciąg.źródło