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

<p>я был пользователем linux некоторое время, и у меня есть довольно приличное понимание большинства распространенных утилит командной строки. тем не менее, те, которые возникают и возникают снова в связи с программированием: <code>grep</code>, <code>awk</code> и <code>sed</code>.</p><p>единственное, для чего я использовал grep - это добавление в него файлов для поиска файлов в лог-файлах, вывод <code>ps</code> и т.д. я не использовал <code>awk</code> или <code>sed</code> совсем. есть ли хорошие уроки для этих утилит?</p>

<p>awk особенно хорошо подходит для табличных данных и имеет более низкую кривую обучения, чем некоторые альтернативы.</p><p> <a href="http://www.grymoire.com/unix/awk.html">awk: учебное пособие и введение</a> </p><p> <a href="http://vc.airvectors.net/tsawk.html">учебник по awk</a> ( <a href="https://en.wikibooks.org/wiki/an\_awk\_primer">альтернативная ссылка</a> )</p><p> <a href="http://www.regular-expressions.info/">regularexpressions.info</a> </p><p> <a href="http://www.panix.com/~elflord/unix/sed.html">учебник sed</a> </p><p> <a href="http://www.panix.com/~elflord/unix/grep.html">учебник по grep</a> </p><p><code>info sed</code>, <code>info grep</code> а также <code>info awk</code> или <code>info gawk</code></p>

<p>книга o'reilly <a href="http://docstore.mik.ua/orelly/unix/sedawk/"><strong> sed и awk </strong></a> отлично подходит для er sed и awk.</p>

<p>я написал книгу по <code>sed</code>— <a href="https://web.archive.org/web/20170801041926/http://www.sed-book.com:80/">полное руководство по sed</a> - которая включает учебник. он полностью охватывает <code>sed</code>, а также связанные команды, такие как <code>grep</code>, <code>tr</code>, <code>head</code> и <code>tail</code>. также полностью охватывает регулярные выражения гораздо лучше, чем я видел в другом месте.</p><p>я согласен с другими, что хорошее понимание регулярных выражений очень важно. я также согласен с тем, что <code>sed</code> лучше всего использовать для более простых задач, более сложные сценарии быстро становятся неясными.</p><p>я не согласен с тем, что <code>awk</code> устарело, как раз наоборот. это похоже на многие вещи unix (например, <code>vi</code>), есть кривая обучения, но оно того стоит.</p><p>я не согласен с предложением использовать <code>awk</code> вместо <code>grep</code>. не имеет смысла в моем опыте. <code>grep</code> так здорово и просто.</p>

<p>поваренной книги регулярных выражений, опубликованной o'rielly, будет достаточно, чтобы найти вас где угодно на любом языке, который их использует.</p>

<p>авторы книги - керниган и пайк, что-то вроде "среда программирования unix".</p><p>книга, из которой я действительно узнал, называлась "введение в беркли unix".</p>

<p>если вы хотите выучить один из этих трех (grep, sed и awk), вы можете просто выучить <a href="http://www.gnu.org/manual/gawk/gawk.html">awk/gawk.</a> . awk может выполнять функции grep и sed, то есть использовать регулярные выражения для поиска/замены текста, а также многое другое, потому что это также язык программирования. если вы изучите внутреннюю часть gawk/awk, вам не нужно будет использовать grep/sed/wc/cut и т.д. это делает только один инструмент.</p>

<p>на мой взгляд, awk более или менее устарел (однако другие будут настойчиво утверждать это мнение), большинство людей, которых я знаю в настоящее время, вместо этого используют некоторый язык сценариев, такой как perl, или сегодня часто python для продвинутых манипуляций с текстом). .sed отлично подходит для более простых задач манипулирования текстом, я использую его все время. я узнал это в основном, посмотрев на однострочники sed, такие как <a href="http://sed.sourceforge.net/sed1line.txt">http://sed.sourceforge.net/sed1line.txt</a> =. относительно grep: ну, в общем, вы хотите получить полное представление о регулярных выражениях (также необходимых для sed). я здесь только что использовал руководства texinfo.</p>