GNU/Linux >> Linux Esercitazione >  >> Linux

Rientro dell'output su più righe in uno script di shell

Invialo a sed per inserire 2 spazi all'inizio di ogni riga.

git status | sed 's/^/  /'

Basandosi sulla risposta di @Barmar, questo è un modo più ordinato per farlo:

indent() { sed 's/^/  /'; }

git status | indent
other_command | indent

Grazie a @Barmar e @Marplesoft per alcune belle soluzioni semplici - ecco un'altra variazione che potrebbe piacere ad altri - una funzione che puoi dire quanti livelli di indentazione usando pr :

indent() {
  local indentSize=2
  local indent=1
  if [ -n "$1" ]; then indent=$1; fi
  pr -to $(($indent * $indentSize))
}

# Example usage
ls -al | indent
git status | indent 2

Linux
  1. Determinare la shell nello script durante il runtime?

  2. Shell Script per stampare la piramide di stelle

  3. Come gestisco la verbosità del registro all'interno di uno script di shell?

  4. Posso usare l'output della pipe come argomento dello script della shell?

  5. Reindirizzamento dell'output del comando nella finestra mobile

Come eseguire un comando in uno script della shell?

Libreria di output di script di shell colorata

Script di traslitterazione per shell linux

Un file .sh può essere un malware?

Lo script di shell è un linguaggio di programmazione?

determinare la shell nello script durante il runtime