it-swarm-eu.dev

Existuje základní výukový program pro grep, awk a sed?

Chvíli jsem uživatelem Linuxu a docela dobře rozumím většině běžných obslužných programů příkazového řádku. Avšak ty, které se objevují a znovu objevují v souvislosti s programováním, jsou grep, awk a sed.

Jediné, na co jsem použil grep, je vložit do něj soubory pro nalezení souborů v log souborech, výstup ps atd. Nepoužil jsem awk nebo sed vůbec. Existují nějaké dobré návody pro tyto nástroje?

98
Macha

AWK je zvláště vhodný pro tabulková data a má nižší křivku učení než některé alternativy.

AWK: Výukový program a úvod

Primer AWK ( alt link )

RegularExpressions.info

sed tutoriál

grep tutorial

info sed, info grep a info awk nebo info gawk

Kniha O'Reilly sed a awk je skvělá pro er sed a awk.

19
user591

Napsal jsem knihu o sedDefinitive Guide to sed - která obsahuje tutoriál. Plně pokrývá sed, jakož i související příkazy jako grep, tr, head a tail. Také plně pokrývá regulární výrazy mnohem lépe, než jsem viděl jinde.

Souhlasím s ostatními, že dobré porozumění regulárním výrazům je velmi důležité. Souhlasím také s tím, že sed se nejlépe používá pro jednodušší úkoly, složitější skripty se rychle stanou nejasnými.

Nesouhlasím s tím, že awk je zastaralý, právě naopak. Je to jako mnoho unixových věcí (např. vi), existuje křivka učení, ale stojí za to.

Nesouhlasím s návrhem použít awk místo grep. Podle mé zkušenosti to nedává smysl. grep je tak skvělý a jednoduchý.

11
Daniel Goldman

Kuchařka regulárních výrazů vydaná společností O'Rielly by stačila k tomu, abyste se dostali kamkoli v jakémkoli jazyce, který je používá.

3
ixtmixilix

Autoři knihy jsou Kernighan a Pike titul je něco jako "Unix Programming Environment".

Kniha, kterou jsem se skutečně naučil, se jmenovala „Úvod do Berkeley Unix“.

3
HandyGandy

Pokud se chcete učit jeden z těchto 3 (grep, sed a awk), můžete se jen učit awk/gawk. . awk umí dělat grep a sed funkce, tj. pomocí regexu pro vyhledávání/nahrazování textu, a mnohem více, protože je to také programovací jazyk. Pokud se naučíte vnitřky mimo gawk/awk, nebudete muset používat grep/sed/wc/cut atd. Pouze jeden nástroj to udělá.

2
user1606

Podle mého názoru je awk víceméně zastaralý (nicméně ostatní budou tento názor silně argumentovat), většina lidí, které dnes znám, místo toho používá nějaký skriptovací jazyk jako Perl nebo dnes často python pro pokročilé manipulace s textem) . sed je skvělé pro jednodušší manipulaci s textem, používám ho po celou dobu. Naučil jsem se to hlavně tím, že jsem se díval na jednořádkové sedy jako ty na http://sed.sourceforge.net/sed1line.txt =. Pokud jde o grep: No, v zásadě chcete získat solidní porozumění regulárním výrazům (také nutné pro sed). Zde jsem právě používal manuály texinfo.

1
fschmitt