it-swarm-ru.tech

Есть ли базовый учебник для grep, awk и sed?

Я был пользователем Linux некоторое время, и у меня есть довольно приличное понимание большинства распространенных утилит командной строки. Тем не менее, те, которые возникают и возникают снова в связи с программированием: grep, awk и ​​sed.

Единственное, для чего я использовал grep - это добавление в него файлов для поиска файлов в лог-файлах, вывод ps и ​​т.д. Я не использовал awk или sed совсем. Есть ли хорошие уроки для этих утилит?

98
Macha

AWK особенно хорошо подходит для табличных данных и имеет более низкую кривую обучения, чем некоторые альтернативы.

AWK: учебное пособие и введение

Учебник по AWK ( альтернативная ссылка )

RegularExpressions.info

учебник sed

учебник по grep

info sed, info grep а также info awk или info gawk

66
Paused until further notice.

Книга O'Reilly sed и awk отлично подходит для er sed и awk.

19
user591

Я написал книгу по sedПолное руководство по sed - которая включает учебник. Он полностью охватывает sed, а также связанные команды, такие как grep, tr, head и ​​tail. Также полностью охватывает регулярные выражения гораздо лучше, чем я видел в другом месте.

Я согласен с другими, что хорошее понимание регулярных выражений очень важно. Я также согласен с тем, что sed лучше всего использовать для более простых задач, более сложные сценарии быстро становятся неясными.

Я не согласен с тем, что awk устарело, как раз наоборот. Это похоже на многие вещи Unix (например, vi), есть кривая обучения, но оно того стоит.

Я не согласен с предложением использовать awk вместо grep. Не имеет смысла в моем опыте. grep так здорово и просто.

11
Daniel Goldman

Поваренной книги регулярных выражений, опубликованной O'Rielly, будет достаточно, чтобы найти вас где угодно на любом языке, который их использует.

3
ixtmixilix

Авторы книги - Керниган и Пайк, что-то вроде "Среда программирования Unix".

Книга, из которой я действительно узнал, называлась "Введение в Беркли Unix".

3
HandyGandy

Если вы хотите выучить один из этих трех (grep, sed и awk), вы можете просто выучить awk/gawk. . awk может выполнять функции grep и sed, то есть использовать регулярные выражения для поиска/замены текста, а также многое другое, потому что это также язык программирования. Если вы изучите внутреннюю часть gawk/awk, вам не нужно будет использовать grep/sed/wc/cut и т.д. Это делает только один инструмент.

2
user1606

На мой взгляд, awk более или менее устарел (однако другие будут настойчиво утверждать это мнение), большинство людей, которых я знаю в настоящее время, вместо этого используют некоторый язык сценариев, такой как Perl, или сегодня часто python для продвинутых манипуляций с текстом). .Sed отлично подходит для более простых задач манипулирования текстом, я использую его все время. Я узнал это в основном, посмотрев на однострочники sed, такие как http://sed.sourceforge.net/sed1line.txt =. Относительно grep: Ну, в общем, вы хотите получить полное представление о регулярных выражениях (также необходимых для sed). Я здесь только что использовал руководства texinfo.

1
fschmitt