Cuando se hace echo de un grep almacenado en una variable, se imprime en una sola línea si no se usan comillas dobles

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hola, soy un inútil.

Terminará pronto, pero lo registraré como una nota.


Cuando almacené grep en una variable y lo hice echo, por alguna razón se imprimió sin saltos de línea.

Así que, el script de prueba es el siguiente.

#!/bin/bash

FILE=nohup.out
## Intentar ponerlo en una variable
GR=`grep ACPI $FILE` 

## Con esto, se imprime en una sola línea
echo $GR

echo "-----Lo de arriba sin comillas dobles. Lo de abajo con.------"

## Con esto, se imprime correctamente con saltos de línea
echo "$GR"

Vamos a ejecutarlo.

〜〜〜
complete [65791.702186] ACPI: EC: EC started [65791.702188] ACPI: PM: Restoring platform NVS memory [65791.719207] ACPI: PM: Waking up from system sleep state S3 [65791.728986] ACPI: EC: interrupt unblocked [65791.733283] ACPI: EC: event unblocked [65792.083297] ata1.00: ACPI cmd f5/00:00:00:00:00:a0(SECURITY FREEZE LOCK) filtered out [65792.083311] ata1.00: ACPI cmd ef/10:03:00:00:00:a0(SET FEATURES) filtered out [65792.087153] ata1.00: ACPI cmd f5/00:00:00:00:00:a0(SECURITY FREEZE LOCK) filtered out [65792.087169] ata1.00: ACPI cmd ef/10:03:00:00:00:a0(SET FEATURES) filtered out
-----Lo de arriba sin comillas dobles. Lo de abajo con.------
[    0.184506] pnp: PnP ACPI init
[    0.184506] pnp: PnP ACPI: found 6 devices
[    0.226677] ACPI: AC: AC Adapter [AC] (on-line)
[    0.226787] ACPI: button: Lid Switch [LID]
[    0.226855] ACPI: button: Sleep Button [SLPB]
[    0.226933] ACPI: button: Power Button [PWRF]
〜〜〜

Es la salida de dmesg, así que la he omitido, pero se ve como lo anterior.

Cuando quieras imprimir en una sola línea, expande sin comillas; y si quieres saltos de línea, deberías usar comillas.


Bueno, eso es todo...

Hasta luego.

Espero verlos de nuevo.

Related Posts