Odpowiedzi:
Jest to również możliwe w Notepad ++:
Sprawdź wiersz Zakładki (jeśli nie ma aktualizacji zakładki Oznacz do bieżącej wersji).
Wpisz wyszukiwane hasło i kliknij Oznacz wszystko
Teraz przejdź do menu Szukaj → Zakładka → Usuń zaznaczone linie
Gotowy.
cd
na ścieżkę i wpisać złożone polecenie (martwiąc się o składnię i trwałe zepsucie, a następnie uświadomienie sobie nie ma kopii zapasowej). [ Nie zrozum mnie źle, cały czas używam poleceń konsoli do innych rzeczy, ale dla czegoś takiego to tylko przesada.]
BOOKMARK LINE
jest tutaj ważne, inaczej nie zadziała!
Innym sposobem na zrobienie tego w Notepad ++ jest skorzystanie z okna dialogowego Znajdź / Zamień oraz z regex:
Ctrl+, haby wyświetlić okno dialogowe Znajdź zamień.
W polu Find what:
tekstowym umieść wyrażenie regularne: .*help.*\r?\n
(gdzie \r
jest opcjonalne, jeśli plik nie ma zakończeń linii Windows).
Pozostaw Replace with:
pole tekstowe puste.
Upewnij się, że przycisk opcji Wyrażenie regularne w obszarze Tryb wyszukiwania jest zaznaczony. Następnie kliknij Replace All
i voila! Wszystkie wiersze zawierające wyszukiwane hasło help
zostały usunięte.
Proste zadanie dzięki grep
:
grep -v help filename
Dołącz, > newFileName
aby przekierować dane wyjściowe do nowego pliku.
Aby to wyjaśnić, normalnym zachowaniem będzie drukowanie linii na ekranie. Aby użyć potoku do pliku, >
można go użyć. Zatem w tym poleceniu:
grep -v help filename > newFileName
grep
grep
oczywiście wywołuje program-v
to flaga odwracająca dane wyjściowe. Defaulf grep
drukuje linie pasujące do podanego wzoru. Za pomocą tej flagi wydrukuje linie, które nie pasują do wzoru.help
to wzór do dopasowaniafilename
to nazwa pliku wejściowego>
przekierowuje dane wyjściowe do następującego elementunewFileName
nowy plik, w którym dane wyjściowe zostaną zapisane.Jak zauważyłeś, nie będziesz usuwać rzeczy z pliku. grep
przeczyta go, a inny plik zostanie zapisany, odpowiednio zmodyfikowany.
grep
zainstalowanego. W każdym razie polecam instalację GNU grep, z pewnością będzie działał w systemie Windows i jest to naprawdę przydatne narzędzie.
>
w tym przypadku), podając ostateczne poleceniegrep -v help filename > outputFileName
Możesz to zrobić za pomocą sed: sed '/help/ d' < inputFile > outputFile
sed '/^help/ d'
powinien działać. ^
Stanowi początek linii.
sed
igrep
Wyszukaj za pomocą wyrażenia regularnego:
^.*(help).*$
\n\n
, zamień na `` (nic)
Jeśli korzystasz z systemu Windows , spróbuj findstr
. Narzędzia innych firm nie są potrzebne:
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
Obsługuje także wyrażenia regularne! Po prostu przeczytaj pomoc narzędzia findstr /?
.
PS Jeśli chcesz pracować z dużymi, dużymi plikami (np. 400 MB plików dziennika), edytor tekstu nie jest bardzo wydajny pod względem pamięci, więc, jak już ktoś zauważył, narzędzia wiersza poleceń są najlepszym rozwiązaniem. Ale w systemie Windows nie ma grep, więc ...
Właśnie uruchomiłem to na pliku dziennika 1 GB i zajęło mi to dosłownie 3 sekundy.