Komentáře
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
- Dokumentace:
man grep
,info grep
, online manuál GNU grep - Úvod do grep a egrep
- grep
- ripgrep – alternativní implementace, ve výchozím nastavení rekurzivní, respektuje
.gitignore
, Rust / PCRE2 regex, SIMD atd. - Ebook o GNU grep a ripgrep
sed
- Dokumentace:
man sed
,info sed
, GNU sed online manuál - Sed – Úvod a výuka
- Sed podle příkladu, část 1 , část 2 , Část 3
- sed tutorial
- Ebook on GNU sed one-liners
awk
- Dokumentace:
man awk
,info awk
,info gawk
, online manuál GNU awk - AWK: Výukový program a úvod
- Awk by Příklad 1. část , Část 2 , Část 3
- AWK Primer ( alternativní odkaz )
- Ebook o GNU awk one-liners
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í.
man
stránky, která vypadá jako 90% poznámek pod čarou.