Commenti
Risposta
In genere, grep
viene utilizzato per la ricerca operazioni, sed
viene utilizzato per ricerca e sostituzione di operazioni e awk
è particolarmente adatto per dati tabulari e ha una curva di apprendimento inferiore rispetto ad alcune alternative. Ci sono anche funzioni sovrapposte tra questi strumenti, vedi: Quando usare grep, less, awk, sed
grep
- Documentazione:
man grep
,info grep
, Manuale online GNU grep - Unintroduzione a grep ed egrep
- grep tutorial
- ripgrep – implementazione alternativa, ricorsiva per impostazione predefinita, rispetta
.gitignore
, Rust / PCRE2 regex, SIMD, ecc - Ebook su GNU grep e ripgrep
sed
- Documentazione:
man sed
,info sed
, Manuale in linea di GNU sed - Sed – Introduzione e tutorial
- Sed by Example Part 1 , Part 2 , Parte 3
- esercitazione sed
- Ebook su GNU sed one-liners
awk
- Documentazione:
man awk
,info awk
,info gawk
, Manuale online di GNU awk - AWK: tutorial e introduzione
- Awk di Esempio Parte 1 , Parte 2 , Parte 3
- Un manuale di AWK ( link alternativo )
- Ebook su GNU awk one-liners
Ulteriori letture
Answer
The O” Reilly sed e awk il libro è ottimo per er sed an d awk.
Risposta
Ho scritto un libro su sed
– Definitive Guide to sed , che include un tutorial. Copre completamente sed
, così come i comandi correlati come grep
, tr
, head
e tail
. Inoltre copre completamente le espressioni regolari molto meglio di quanto ho visto altrove.
Sono daccordo con altri sul fatto che una solida comprensione delle espressioni regolari sia molto importante. Concordo anche che sed
è utilizzato al meglio per attività più semplici, gli script più complessi diventano rapidamente oscuri.
Non sono daccordo sul fatto che awk
sia obsoleto, al contrario. È come molti Unix cose (ad esempio, vi
), cè una curva di apprendimento, ma ne vale la pena.
Non sono daccordo con il suggerimento di utilizzare awk
al posto di grep
. Non ha senso nella mia esperienza. grep
è così semplice e fantastico.
Risposta
Il libro di ricette sulle espressioni regolari pubblicato da O “Rielly sarebbe sufficiente per portarti ovunque in qualsiasi lingua che le utilizza.
Answer
Gli autori del libro sono Kernigan e Pike il titolo è qualcosa come “The Unix P rogramming Environment “.
Il libro da cui ho imparato si chiamava” An Introduction to Berkely Unix “.
Answer
Se vuoi imparare uno di questi 3 (grep, sed e awk), puoi semplicemente imparare awk / gawk. . awk può eseguire funzioni di grep e sed, cioè usare regex per cercare / sostituire testo, e molto altro ancora perché è anche un linguaggio di programmazione.Se impari i dettagli di gawk / awk, non avrai bisogno di usare grep / sed / wc / cut ecc. Solo uno strumento lo fa.
Risposta
Secondo me awk è più o meno obsoleto (tuttavia, altri sosterranno fortemente questa opinione), la maggior parte delle persone che conosco oggigiorno usa invece un linguaggio di script come perl o oggi spesso python per il testo avanzato manipolazione. sed è ottimo per attività di manipolazione del testo più semplici, lo uso sempre. Lho imparato principalmente osservando le battute di sed come quelle in http://sed.sourceforge.net/sed1line.txt . Riguardo a grep: beh, fondamentalmente vuoi ottenere una solida comprensione delle espressioni regolari (necessarie anche per sed). Ho usato solo i manuali texinfo.
Commenti
- awk è ancora molto utile per manipolare i dati trasmessi da altri comandi. Per un semplice utilizzo della riga di comando, ' non lo prenderei in considerazione obsoleto ancora.
- Inoltre dovrebbe essere disponibile su molti syste ms a causa di POSIX.
- La maggior parte di ' advanced AWK ' è probabilmente fatto meglio con perl o python o qualsiasi altra cosa, ma le cose semplici sono piacevoli da fare con awk.
- Awk è ancora utile per capire le varie risposte che potresti trovare online quando cerchi di risolvere un problema. Troverai spesso esempi in linea che utilizzano istruzioni awk come
awk '{print $3}'
. - Al lavoro ea casa uso awk più spesso di sed. Niente può battere awk con dati tabulari fissi, come loutput
dpkg -l
. Non vorrei ' fare nulla di remotamente complicato, ma ' sarei uno strumento senza awk. Non posso ' dire lo stesso per linguaggi di programmazione più generali, per quanto mi piacciano alcuni di essi.
man
che sembra al 90% di note a piè di pagina.