GNU/Linux >> Znalost Linux >  >> Linux

Získejte poslední 4 znaky výstupu ze standardního výstupu

Co třeba tail , s -c přepínač. Chcete-li například získat poslední 4 znaky „ahoj“:

echo "hello" | tail -c 5
ello

Všimněte si, že jsem použil 5 (4+1), protože znak nového řádku je přidán pomocí echo . Jak navrhl Brad Koch níže, použijte echo -n abyste zabránili přidání znaku nového řádku.


Pomocí sed :

lspci -s 0a.00.1 | sed 's/^.*\(.\{4\}\)$/\1/'

Výstup:

4dc9

Opravdu chcete poslední čtyři postavy? Vypadá to, že chcete poslední "slovo" na řádku:

awk '{ print $NF }'

To bude fungovat, pokud má ID 3 znaky nebo také 5.


Linux
  1. Jaký je rozdíl mezi získáním výstupu příkazu pomocí `command` a $(command) v Shell?

  2. Linux – sloupec Buffers ve výstupu zdarma?

  3. $_ vs! $. Poslední argument předchozího příkazu a přesměrování výstupu?

  1. Zavření standardního výstupu (>&-)?

  2. Získejte „povolení odepřeno“ při přesměrování výstupu Sudo Echo „xyz“ do souboru?

  3. 3 triky, jak získat výstup více příkazů ve stejném řádku

  1. Vytiskněte poslední řádek souboru z CLI

  2. Existuje v bash způsob, jak echo/tisknout poslední stdout? Existuje proměnná, ke které je přiřazena stdout?

  3. Pomocí openssl získáte certifikát ze serveru