Вивести результати grep у текстовий файл, потрібен більш чистий вихід


84

Як використовувати команду Grep для пошуку рядка пошуку в наборі файлів, як звантажити результати у текстовий файл?

Також є перемикач для команди Grep, який забезпечує більш чіткі результати для кращої читабельності, наприклад, подачу рядків між кожним записом або спосіб обґрунтування імен файлів та результатів пошуку?

Наприклад, гості, щоб змінити ...

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

до

./file/path: first result

./another/file/path: second result

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

14
Мені подобається, що ці фактично надзвичайно корисні запитання "не справжнє запитання" опинились у топ-результатах пошуку в Google роками пізніше.
Адріан Карр,

Відповіді:


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

-nДрукуватиме номер рядка і >перенаправляє Grep-результати для вихідного файлу.
Якщо ви хочете "очистити" результати, ви можете відфільтрувати їх за допомогою конвеєра, |наприклад:
grep -n "test" * | grep -v "mytest" > output-file збігатиметься з усіма рядками, які містять рядок "test", за винятком рядків, що відповідають рядком "mytest" (це перемикач -v) - і буде перенаправляти результат у вихідний файл.
У цій публікації можна знайти кілька корисних підказок


10
Чи пише grep лише тоді, коли закінчується, або пише рядок за рядком під час обробки вмісту? Дякую!
Crista23,

5
@alfasin - хіба одиничне '>' не перезапише результати у вихідний файл? Чи не слід використовувати подвійне '>>' для додавання результатів до файлу?
Г.Т.Тодоров

3
@GTodorov так, якщо ви хочете додати використання>>
Нір Альфасі

12
Для майбутніх відвідувачів відповідь на запитання @ Crista23 полягає в тому, що він пише, коли grep закінчується
HBeel

35

Перенаправлення виводу програми виконується оболонкою.

grep ... > output.txt

grepне має механізму додавання порожніх рядків між кожним збігом, але надає такі варіанти, як контекст навколо узгодженої лінії та забарвлення самого збігу. Докладнішу grep(1)інформацію, зокрема параметри -Cта, дивіться на сторінці --colorдовідок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.