it-swarm-es.tech

¿Cómo agrego nuevas líneas entre las líneas impresas en la línea de comando?

Los registros de correo son increíblemente difíciles de leer. ¿Cómo podría generar una línea en blanco entre cada línea impresa en la línea de comando? Por ejemplo, digamos que estoy greping el registro. De esa manera, no se confunden varias líneas ajustadas.

31
xenoterracide
sed G 
# option: g G    Copy/append hold space to pattern space.

G no se usa con frecuencia, pero es bueno para este propósito. sed mantiene dos espacios de almacenamiento intermedio: el "espacio de patrón" y el "espacio de retención". Las líneas procesadas por sed generalmente fluyen a través del espacio del patrón a medida que varios comandos operan en su contenido (s///, p, etc.); el espacio de espera comienza vacío y solo lo utilizan algunos comandos.

El comando G agrega una nueva línea y el contenido del espacio de retención al espacio del patrón. El programa sed anterior nunca pone nada en el espacio de espera, por lo que G agrega efectivamente una nueva línea a cada línea que se procesa.

53
Chris Johnsen

Use awk para agregar una nueva línea adicional. Esto también te permite filtrar cosas que no quieres.

awk '{print $0,"\n"}' | less
9
KeithB

Use sed y reemplace la línea completa sola más un carácter de nueva línea adicional:

grep foo /var/log/maillog | sed -e "s/^.*$/&1\n/"
5
fschmitt

¿Es esto lo que buscas?

grep SPAM mail.log | while read -r line; do echo; echo $line; done

3
Nifle

Tubo | cualquier salida a:

sed G

Ejemplo:

ls | sed G

Si tu man sed ya verás

G Append es un carácter de nueva línea seguido del contenido del espacio de espera en el espacio del patrón.

0
jasonleonhard

Si se trata de algo más que solo mirar, prefiero enviarlos a un archivo de texto y abrirlos con un editor de texto para que pueda configurar las líneas para ajustar o no y realizar búsquedas fácilmente ... y eliminar las líneas no deseadas y así sucesivamente sin tener que escribir muchos comandos.

cat file.log > log.txt y gedit log.txt o un editor de terminal como nano

Editor cp file.log log.txt que por supuesto es más fácil y rápido ... gracias al comentario de KeithB

0
laurent