16 Novembre 2021
Expand search form

Si usa ancora awk?

Imparo costantemente nuovi strumenti, anche quelli vecchio stile, perché mi piace usare la soluzione giusta per il problema.

Tuttavia, mi chiedo se c’è ancora un motivo per imparare alcuni di loro. awk per esempio è interessante per me, ma per la semplice elaborazione del testo, posso usare grep , cut , sed , ecc. mentre per quelli complessi, andrò per Python.

Ora non voglio dire che non sia uno strumento potente e pratico. Ma poiché ci vuole tempo ed energia per imparare un nuovo strumento, ne vale la pena ?

9GB). Sul mio Macbook Pro (2.8 GHZ i7, 16 GB Ram), la versione python poteva elaborare

10k linee al secondo => 90 minuti di runtime. Usando mawk, il tempo di esecuzione si è ridotto a 2 minuti. Btw, il programma awk era grande la metà.

24 Risposte 24

Se impari rapidamente le basi di awk, puoi davvero fare cose incredibili sulla riga di comando.

Ma il vero ragione per imparare awk è avere una scusa per leggere il superbo libro Il linguaggio di programmazione AWK dai suoi autori Aho, Kernighan e Weinberger. Si potrebbe pensare, dal nome, che semplicemente vi insegni awk. In realtà, questo è solo l’inizio. Lanciandosi nella vasta gamma di problemi che possono essere affrontati una volta che si usa un linguaggio di scripting conciso che rende facile la manipolazione delle stringhe – e awk fu uno dei primi – procede ad insegnare al lettore come implementare un database, un parser, un interprete, e (se la memoria non mi inganna) un compilatore per un piccolo linguaggio informatico specifico per un progetto! Se solo avessero programmato anche un sistema operativo di esempio usando awk, il libro sarebbe stato un’introduzione all’informatica abbastanza completa!

Famosamente chiaro e conciso, come il libro originale sul linguaggio C, è anche un meraviglioso esempio di scrittura tecnica amichevole fatta bene. Anche l’indice è un pezzo di artigianato.

Awk? Se lo conoscete, lo userete occasionalmente alla riga di comando, ma per qualcosa di più grande vi sentirete intrappolati, incapaci di accedere alle caratteristiche più ampie del vostro sistema e di Internet a cui qualcosa come Python dà accesso. Ma il libro? Sarete sempre felici di averlo letto!

Potresti anche essere interessato agli argomenti

Vale la pena imparare awk nel 2020?

awk è un linguaggio powertool, quindi è probabile che troverete awk usato da qualche parte se siete un professionista IT di qualsiasi tipo. Se riesci a gestire la sintassi e le espressioni regolari di grep e sed allora non dovresti avere problemi a imparare awk e probabilmente ne vale la pena.

Si usa awk?

Awk è usato principalmente per la scansione e l’elaborazione di modelli. Cerca uno o più file per vedere se contengono linee che corrispondono ai pattern specificati e poi esegue le azioni associate. Awk è l’abbreviazione dei nomi degli sviluppatori – Aho, Weinberger e Kernighan.

Quando dovrei usare awk?

awk è molto utile quando gestisce file di testo che sono formattati in modo prevedibile. Per esempio, è eccellente nell’analizzare e manipolare dati tabulari. Opera riga per riga e itera attraverso l’intero file. Per impostazione predefinita, usa gli spazi bianchi (spazi, tabulazioni, ecc.) per separare i campi.

Cosa posso usare al posto di awk?

Python, Perl, JavaScript, PHP e HTML5 sono le alternative più popolari e i concorrenti di AWK.

Qual è più veloce awk o Python?

Awk è un linguaggio compilato. Il tuo script Awk viene compilato una volta e applicato ad ogni linea del tuo file a velocità simile al C. È molto più veloce di Python. Se imparate ad usare bene Awk, inizierete a fare cose con i dati che non avreste avuto la pazienza di fare in un linguaggio interpretato.

awk è più veloce di sed?

Sed si è comportato meglio di awk – un miglioramento di 42 secondi su 10 iterazioni. Sorprendentemente (per me), lo script Python ha funzionato quasi bene come le utility integrate di Unix.

Qual è meglio grep o awk?

Grep è uno strumento semplice da usare per cercare rapidamente i modelli corrispondenti, ma awk è più un linguaggio di programmazione che elabora un file e produce un output a seconda dei valori di input. Il comando Sed è utile soprattutto per modificare i file. Cerca i modelli corrispondenti, li sostituisce e produce il risultato.

Qual è meglio sed o awk?

La differenza tra sed e awk è che sed è un’utilità di comando che lavora con flussi di caratteri per la ricerca, il filtraggio e l’elaborazione del testo mentre awk è più potente e robusto di sed con sofisticati costrutti di programmazione come if/else, while, do/while ecc.

awk è più veloce di grep?

Quando si cerca solo tra le stringhe, e la velocità conta, si dovrebbe quasi sempre usare grep. È ordini di grandezza più veloce di awk quando si tratta solo di ricerca grossolana.

Qual è lo scopo di AWK?

AWK (awk) è un linguaggio specifico del dominio progettato per l’elaborazione del testo e tipicamente usato come strumento di estrazione dati e reporting. Come sed e grep, è un filtro, ed è una caratteristica standard della maggior parte dei sistemi operativi Unix-like.

Cosa significa AWK in inglese?

(Voce 1 di 2) 1 obsoleto : girato o fatto nel modo sbagliato. 2 obsoleto : perverso. 3 obsoleto : goffo, impacciato.

awk è morto?

AWK è un linguaggio di elaborazione del testo con una storia che abbraccia più di 40 anni. Ha uno standard POSIX, diverse implementazioni conformi, ed è ancora sorprendentemente rilevante nel 2020 – sia per semplici compiti di elaborazione del testo che per la gestione dei “big data”.

Grep o awk sono più veloci?

Quando si cercano solo stringhe, e la velocità conta, si dovrebbe quasi sempre usare grep. È ordini di grandezza più veloce di awk quando si tratta solo di ricerca grossolana.

Cosa si può usare al posto di grep?

Come fare grep e replaceNon credo che grep possa fare questo (potrei sbagliarmi). … Prova a usare sed -i ‘s/.*substringa.*/replace/’ … @Eddy_Em Questo sostituirà l’intera linea con replace. … Possibile duplicato di Usare grep e sed per trovare e sostituire una stringa. … @vedi stackoverflow.com/questions/5171901/…Mar 14, 2556 BE

Qual è meglio awk o sed?

La differenza tra sed e awk è che sed è un’utilità di comando che lavora con flussi di caratteri per la ricerca, il filtraggio e l’elaborazione del testo mentre awk è più potente e robusto di sed con sofisticati costrutti di programmazione come if/else, while, do/while ecc.

Articolo precedente

Quanto è distante dal livello del mare l’Oklahoma?

Articolo successivo

Il crunchwrap Supreme è sano?

You might be interested in …