separador practicos examples ejemplos comparar columnas campos archivos awk blank-line

practicos - awk unix



¿Cómo inserto una línea en blanco cada n líneas usando awk? (5)

Más torpeza:

awk ''ORS=NR%5?RS:RS RS''

Por ejemplo:

$ printf "%s/n" {1..12} | awk ''ORS=NR%5?RS:RS RS'' 1 2 3 4 5 6 7 8 9 10 11 12

Tengo un archivo de entrada como este:

line 1 line 2 line 3 line 4 line 5 line 6

Me gustaría usar awk para insertar una línea en blanco cada pocas líneas; por ejemplo, cada dos:

line 1 line 2 line 3 line 4 line 5 line 6

¿Cómo puedo obtener awk para poner una línea en blanco en mi archivo cada n líneas?


Una forma más "awk-ish" de escribir la respuesta de smcameron:

awk -v n=5 ''1; NR % n == 0 {print ""}''

El "1"; es una condición que siempre es verdadera y activará la acción predeterminada que es imprimir la línea actual.


$ awk -v n=5 ''$0=(!(NR%n))?"/n"$0:$0''

Si desea cambiar ''n'', configure el parámetro ''n'' con la opción -k de awk.


awk ''{ if ((NR % 5) == 0) printf("/n"); print; }''

para n == 5 , por supuesto. Sustituye lo que sea tu idea de n .


awk ''{print; if (FNR % 5 == 0 ) printf "/n";}'' your_file

Supongo que ''imprimir'' debería estar antes de ''printf'', y FNR es más preciso para su tarea.