Zapisuj wyniki grep do pliku tekstowego, potrzebujesz czystszego wyniku


84

W jaki sposób mogę zrzucić wyniki do pliku tekstowego podczas używania polecenia Grep do znalezienia ciągu wyszukiwania w zestawie plików?

Czy istnieje również przełącznik dla polecenia Grep, który zapewnia czystsze wyniki dla lepszej czytelności, takie jak zmiana wiersza między każdym wpisem lub sposób uzasadnienia nazw plików i wyników wyszukiwania?

Na przykład wyjazd do zmiany ...

./file/path: first result
./another/file/path: second result
./a/third/file/path/here: third result

do

./file/path: first result

./another/file/path: second result

./a/third/file/path/here: third result

14
Uwielbiam to, że te naprawdę bardzo pomocne pytania, które nie są prawdziwym pytaniem, znalazły się na pierwszych miejscach wyników wyszukiwania w Google po latach.
Adrian Carr

Odpowiedzi:


112
grep -n "YOUR SEARCH STRING" * > output-file

-nDrukuje numer wiersza i >przekieruje grep-wyniki do plik-wyj.
Jeśli chcesz „wyczyścić” wyniki, możesz je przefiltrować, używając |na przykład potoku :
grep -n "test" * | grep -v "mytest" > output-file dopasuje wszystkie wiersze zawierające ciąg „test” z wyjątkiem wierszy pasujących do ciągu „mytest” (to jest przełącznik -v) - i przekieruje wynik do pliku wyjściowego.
W tym poście można znaleźć kilka dobrych wskazówek dotyczących grepa


10
Czy grep pisze tylko wtedy, gdy kończy, czy pisze wiersz po wierszu podczas przetwarzania treści? Dzięki!
Crista23,

5
@alfasin - czy pojedynczy znak „>” nie nadpisze wyników w pliku wyjściowym? Czy nie powinniśmy używać podwójnego „>>” w celu dołączenia wyników do pliku?
GTodorov

3
@GTodorov tak, jeśli chcesz dołączyć użycie>>
Nir Alfasi

12
Dla przyszłych gości odpowiedzią na pytanie @ Crista23 jest napisanie, kiedy grep się zakończy
HBeel

35

Przekierowanie wyjścia programu jest wykonywane przez powłokę.

grep ... > output.txt

grepnie ma mechanizmu dodawania pustych wierszy między każdym dopasowaniem, ale zapewnia opcje, takie jak kontekst wokół dopasowanej linii i kolorowanie samego dopasowania. Zobacz grep(1)stronę podręcznika, aby uzyskać szczegółowe informacje, szczególnie opcje -Ci --color.

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.