GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni gli ultimi 4 caratteri dell'output da standard out

Che ne dici di tail , con il -c interruttore. Ad esempio, per ottenere gli ultimi 4 caratteri di "ciao":

echo "hello" | tail -c 5
ello

Nota che ho usato 5 (4+1) perché un carattere di nuova riga viene aggiunto da echo . Come suggerito da Brad Koch sotto, usa echo -n per impedire l'aggiunta del carattere di nuova riga.


Usando sed :

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

Uscita:

4dc9

Vuoi davvero gli ultimi quattro caratteri? Sembra che tu voglia l'ultima "parola" sulla riga:

awk '{ print $NF }'

Funzionerà se l'ID è di 3 caratteri o anche di 5 caratteri.


Linux
  1. Qual è la differenza nell'ottenere l'output del comando usando `command`e $(command) in Shell??

  2. In bash, c'è un modo per echo/stampare l'ultimo stdout? Esiste una variabile a cui è assegnato stdout?

  3. Come faccio a leggere sed dall'input standard?

  4. Python - Supervisore come registrare l'output standard -

  5. Come ottengo il mio indirizzo IP dalla riga di comando?

Come ottenere il massimo da Qmmp 1.0

L'output di sostituzione del processo è fuori servizio?

Come impedire a `ls` di ordinare l'output?

Salva l'output di un comando dal terminale Debian in un file

ottenere i primi 5 caratteri da ogni riga nello script di shell

Come posso ottenere l'ultimo numero dalla stringa in bash?