Articles of awk

L’espressione / inizio /, / fine / intervallo è sempre utile in awk?

Ho sempre sostenuto che non dovresti mai usare un’espressione di intervallo come: /start/,/end/ in awk perché anche se rende banale il caso in cui si desidera stampare solo il testo corrispondente, comprese le linee di inizio e fine leggermente più brevi rispetto all’alternativa *: /start/{f=1} f{print; if (/end/) f=0} quando vuoi modificarlo leggermente per fare […]

AWK: accesso al gruppo catturato dal modello di linea

Se ho un comando awk pattern { … } e il pattern usa un gruppo di cattura, come posso accedere alla stringa così catturata nel blocco?

AWK delimitatore multiplo

Ho un file che contiene le seguenti righe: /logs/tc0001/tomcat/tomcat7.1/conf/catalina.properties:app.env.server.name = demo.example.com /logs/tc0001/tomcat/tomcat7.2/conf/catalina.properties:app.env.server.name = quest.example.com /logs/tc0001/tomcat/tomcat7.5/conf/catalina.properties:app.env.server.name = www.example.com Nell’output sopra voglio estrarre 3 campi (Number 2, 4 e l’ultimo *.example.com ). Sto ottenendo il seguente risultato: cat file | awk -F’/’ ‘{print $3 “\t” $5}’ tc0001 tomcat7.1 tc0001 tomcat7.2 tc0001 tomcat7.5 Come estrarre anche l’ultimo campo […]

Usare awk con variabili

x=3 A=`echo $A|awk ‘{print $x}’` echo $A non stampa 3. Come posso usare le variabili con awk *

Possiamo usare le variabili di shell in awk?

Possiamo usare le variabili di shell in AWK come $VAR anziché $1 , $2 ? Per esempio: UL=(AKHIL:AKHIL_NEW,SWATHI:SWATHI_NEW) NUSR=`echo ${UL[*]}|awk -F, ‘{print NF}’` echo $NUSR echo ${UL[*]}|awk -F, ‘{print $NUSR}’ In realtà sono un DBA oracle otteniamo molte richieste di importazione. Sto cercando di automatizzarlo usando lo script. Lo script individuerà gli utenti nel dump […]

Come aggiungere alla fine delle righe contenenti un pattern con sed o awk?

Ecco il file di esempio: somestuff… all: thing otherthing some other stuff Quello che voglio fare è aggiungere alla riga che inizia con all: come questo: somestuff… all: thing otherthing anotherthing some other stuff

Cosa è “NR == FNR” in awk?

Sto imparando il confronto dei file usando awk . Ho trovato la syntax come di seguito, awk ‘NR==FNR{a[$1];next}$1 in a{print $1}’ file1 file2 Non riuscivo a capire qual è il significato di NR==FNR in questo? Se provo con FNR==NR allora ottengo lo stesso risultato? Che cosa fa esattamente?

Come posso cancellare una nuova riga se è l’ultimo carattere in un file?

Ho alcuni file che vorrei eliminare l’ultima riga se è l’ultimo carattere in un file. od -c mi mostra che il comando che eseguo scrive il file con una nuova riga finale: 0013600 nt > \n Ho provato alcuni trucchi con sed, ma il meglio che ho potuto pensare non è il trucco: sed -e […]

Esiste un’utilità Unix per anteporre i timestamp allo stdin?

Ho finito per scrivere un breve script per questo in Python, ma mi stavo chiedendo se ci fosse un’utilità da inserire nel testo che anteponesse ogni riga con del testo – nel mio caso specifico, un timestamp. Idealmente, l’uso sarebbe qualcosa di simile: cat somefile.txt | prepend-timestamp (Prima di rispondere a sed, ho provato questo: […]

Perché l’output del mio strumento si sovrascrive da solo e come lo risolvo?

L’intento di questa domanda è di fornire una risposta alle domande quotidiane la cui risposta è “hai terminazioni di linea DOS”, quindi possiamo semplicemente chiuderle come duplicati di questo senza ripetere le stesse risposte fino alla nausea . NOTA: questo NON è un duplicato di alcuna domanda esistente . L’intento di questa sessione di domande […]