Voglio estrarre alcune righe con awk. È possibile eseguire la seguente attività: 
ls -l | awk "BEGIN FOR(i=122;i<=129;i++) FNR==i" Come faccio a visualizzare i dettagli dai numeri di riga da 122 a 129?
Commenti
Risposta
 Non hai capito come funziona awk. Il “programma” specificato viene  sempre  eseguito una volta per ogni riga (o “record” in gergo awk) di input, non cè bisogno di FOR o qualsiasi costrutto simile. Utilizza: 
metodo dettagliato
ls -l | awk "NR>=122 && NR<=129 { print }" metodo più compatto
ls -l | awk "NR==122,NR==129"  Questo fornisce un intervallo per NR, che è il “Record numero”, tipicamente questo è la riga corrente che awk sta elaborando. 
Commenti
-  In realtà il tipico awkil codice per tale attività è solitamentels -l | awk 'NR==122,NR==129'.
- qual è il comando per ottenere le ultime 100 righe dal file utilizzando awk
- @ShihabudheenKM Può dare unocchiata a questo: stackoverflow.com/questions/12546919/…
Risposta
 Un altro metodo alternativo sarebbe usare sed : 
 
Ma se, come suggerisce la tua domanda, è importante usare awk per questo, segui il commento di manatwork sulla risposta di Zrajm. Come afferma la documentazione di awk:
A pattern may consist of two patterns separated by a comma; in this case, the action is performed for all lines from an occurrence of the first pattern though an occurrence of the second.
Quindi, se lo desideri, puoi anche creare condizioni più avanzate. Ad esempio:
ls -l | awk "NR==122,/foobar/" Questo inizierà loutput alla riga 122 e continuerà finché una riga non contenga il parola “foobar”.
Se ci dici il caso duso effettivo , potremmo essere in grado di aiutarti con risposte che forniscono una soluzione migliore. Sono preoccupato che questo suoni come un problema XY .
Risposta
 Un altro modo di facendo ciò (anche se preferisco il metodo awk) utilizzando coreutils: 
ls -l | tail -n +122 | head -n 8 Risposta
 awk "NR == 122,NR == 129{print $0}" file Qui possiamo estrarre le righe da 122 a 129 del file.
 $0 viene utilizzato per stampare tutti i dati del file tra 122 e 129 righe. 
Commenti
- risposta duplicata di unix.stackexchange.com/a/89641/72456
sed, poichésedè molto più piccolo (e si carica più velocemente) diawk.