Grep armazenado em variável é exibido em uma única linha quando ecoado sem aspas duplas

3 min

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

Olá, sou um inútil.

Será rápido, mas vou registrar como uma nota.


Quando armazenei o resultado do grep em uma variável e o exibi com echo, por algum motivo, ele foi impresso sem quebras de linha.

Então, o script de teste é o seguinte:

#!/bin/bash

FILE=nohup.out
## Tentar colocar em uma variável
GR=`grep ACPI $FILE` 

## Isso imprime em uma única linha
echo $GR

echo "-----Acima desta linha, sem aspas duplas. Abaixo, com aspas.------"

## Isso imprime com quebras de linha corretamente
echo "$GR"

Vamos executá-lo.

〜〜〜
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
-----Aqui acima sem aspas duplas. Abaixo com aspas.------
[    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]
〜〜〜

É uma saída do dmesg, então omiti algumas partes, mas fica como o exemplo acima.

Quando você quer que a saída seja em uma única linha, expanda sem aspas duplas; se quebras de linha forem aceitáveis, então use aspas duplas.


Bem, é só isso...

Até mais.

Agradeço e até a próxima.

Related Posts