GNU/Linux >> Linux Esercitazione >  >> Linux

Come stampare una variabile con allineamento centrale imbottito?

Come posso stampare $myvar imbottito in modo che sia al centro del terminale e su entrambi i lati ci sono = fino al bordo dello schermo?

Risposta accettata:

Ho trovato due informazioni qui sulla rete di stackexchange che mi hanno aiutato ad arrivare a questa risposta funzionante:

  • https://stackoverflow.com/q/263890/5419599
  • https://stackoverflow.com/q/4409399/5419599

Tuttavia, il codice in questa risposta è mio.

Vedi la cronologia delle modifiche se vuoi più verbosità; Ho eliminato tutti i cruft e i "passaggi lungo il percorso".

Penso che il modo migliore sia:

center() {
  termwidth="$(tput cols)"
  padding="$(printf '%0.1s' ={1..500})"
  printf '%*.*s %s %*.*sn' 0 "$(((termwidth-2-${#1})/2))" "$padding" "$1" 0 "$(((termwidth-1-${#1})/2))" "$padding"
}
center "Something I want to print"

Output su un terminale largo 80 colonne:

========================== Something I want to print ===========================

Nota che il riempimento non deve essere un singolo carattere; infatti il ​​padding variabile non lo è, è lunga 500 caratteri nel codice sopra. Potresti usare un'altra forma di riempimento cambiando solo il padding riga:

padding="$(printf '%0.2s' ^v{1..500})"

Risultati in:

^v^v^v^v^v^v^v^v^v^v^v^v^v Something I want to print ^v^v^v^v^v^v^v^v^v^v^v^v^v^

Un altro pratico utilizzo è:

clear && center "This is my header"

Linux
  1. Come analizzare e stampare in modo grazioso JSON con gli strumenti della riga di comando di Linux

  2. Come eseguire la valutazione indiretta delle variabili?

  3. Come stampare l'ora corrente (con millisecondi) usando C++ / C++11

  4. Come posso stampare un messaggio su stderr in Go?

  5. Come riempire un file con FF usando dd?

Bash printf - Come stampare una variabile in Bash

Come integrare ONLYOFFICE 9.6 con WordPress

Come installare Maven su Windows

Come proteggere i server Linux con SE Linux

Come impostare la variabile d'ambiente in Bash

Come creare un e-commerce con Magento