Zavřeno . Tato otázka musí být více zaměřena . Momentálně nepřijímá odpovědi.

Komentáře

  • thegeekstuff.com se mi vždycky líbí. Řezou rovnou k příkladům, na rozdíl od obvyklé man stránky, která vypadá jako 90% poznámek pod čarou.

Odpověď

grep se obvykle používá pro vyhledávání operations, sed se používá pro operace vyhledávání a nahrazování a awk je zvláště vhodný pro tabulková data a má nižší křivku učení než některé alternativy. Mezi těmito nástroji jsou také překrývající se funkce, viz: Kdy použít grep, less, awk, sed

grep

sed

awk

Další čtení

odpověď

O“ Reilly sed a awk kniha je skvělá pro všechny d awk.

Odpověď

Napsal jsem knihu o sed Definitivní průvodce sed – obsahuje výukový program. Plně pokrývá sed a 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 pevné porozumění regulárním výrazům je velmi důležité. Souhlasím také s tím, že sed je nejvhodnější pro jednodušší úkoly, složitější skripty se rychle stávají nejasnými.

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

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

Odpověď

Kuchařská kniha regulárních výrazů vydaná O „Rielly by stačila na to, abyste se dostali kamkoli v jakémkoli jazyce, který je používá.

Odpověď

Autoři knihy jsou Kernigan a název Pike je něco jako „The Unix P rogramming Environment „.

Kniha, ze které jsem se vlastně učil, se jmenovala„ An Introduction to Berkely Unix “.

Answer

Pokud se chcete naučit jeden z těchto 3 (grep, sed a awk), stačí se naučit awk / gawk. . awk umí dělat funkce grep a sed, tj. používat regex k vyhledávání / nahrazování textu, a ještě mnohem více, protože je to také programovací jazyk.Pokud se naučíte zevnitř gawk / awk, nebudete muset používat grep / sed / wc / cut atd. Stačí jen jeden nástroj.

Odpovědět

Podle mého názoru je awk víceméně zastaralý (ostatní však 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ý text manipulace. sed je skvělý pro jednodušší úkoly manipulace s textem, používám ho pořád. Naučil jsem se to hlavně tím, že jsem se díval na sed one-liners jako ti na http://sed.sourceforge.net/sed1line.txt . Co se týče grep: V zásadě chcete dobře porozumět regulárním výrazům (také potřebné pro sed). Právě jsem zde použil manuály texinfo.

Komentáře

  • awk je stále velmi užitečné pro manipulaci s daty z jiných příkazů. Pro jednoduché použití příkazového řádku bych to ' nepovažoval zatím zastaralé.
  • Také by mělo být dostupné na mnoha systémech ms kvůli POSIXu.
  • Nejpokročilejší ' pokročilý AWK ' je pravděpodobně lepší udělat s perlem nebo pythonem nebo cokoli jiného, ale jednoduché věci je dobré dělat jen s awk.
  • Awk je stále užitečné vědět, abyste pochopili různé odpovědi, které byste mohli najít online, když se snažíte vyřešit problém. Často najdete příklady online, které používají příkazy awk jako awk '{print $3}'.
  • V práci i doma používám awk častěji než sed. Při pevných tabulkových datech, jako je výstup dpkg -l, nemůže nic překonat awk. Nedělal bych ' v tom nic vzdáleně komplikovaného, ale byl bych ' d krátký nástroj bez awk. Nemohu ' říci totéž pro obecnější programovací jazyky, stejně jako některé z nich se mi líbí.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *