/ / Terminal polecenie, aby znaleźć linie zawierające określone słowo? - linux, tekst, terminal

Polecenie terminalowe, aby znaleźć wiersze zawierające określone słowo? - Linux, tekst, terminal

Zastanawiałem się tylko, jakie polecenie muszę umieścićdo terminalu, aby odczytać plik tekstowy, usuń wszystkie linie, które nie zawierają określonego słowa kluczowego, a następnie wydrukuj te linie na nowym pliku. na przykład słowo kluczowe to „system”. Chcę móc wydrukować wszystkie linie zawierające system na nowym oddzielnym pliku. Dzięki

Odpowiedzi:

18 dla odpowiedzi № 1

grep jest twoim przyjacielem.

Na przykład możesz:

grep system <filename> > systemlines.out

man grep i możesz również uzyskać dodatkowe przydatne informacje (np .: numery linii, 1+ linie przed, 1 + linie po, negacja - tj .: wszystkie linie, które nie zawierają grep, itd ...)

Jeśli używasz systemu Windows, możesz zainstalować Cygwin lub możesz znaleźć plik binarny win32 również dla grep.


3 dla odpowiedzi № 2
grep "<system>"

Wyszuka wiersze zawierające słowo system, a nie system jako podciąg.


2 dla odpowiedzi nr 3

poniżej grep polecenie rozwiąże problem

grep -i yourword filename1 > filename2

with -i for case insensitiveness

without -i for case sensitiveness

aby dowiedzieć się, jak działa grep na serwerze ur, zajrzyj na stronę man na serwerze ur, za pomocą następującej komendy

man grep

-1 dla odpowiedzi № 4

grep „system” nazwa_pliku> new-filename

Być może zechcesz nieco sprytniej nie umieszczać linii ze słowami takimi jak „dysystemiczny”, ale jest to dobre miejsce na początek.