GNU/Linux >> Tutoriales Linux >  >> Linux

Sangrado de salida de varias líneas en un script de shell

Canalízalo a sed para insertar 2 espacios al comienzo de cada línea.

git status | sed 's/^/  /'

Sobre la base de la respuesta de @Barmar, esta es una forma más ordenada de hacerlo:

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

git status | indent
other_command | indent

Gracias a @Barmar y @Marplesoft por algunas soluciones simples y agradables. Aquí hay otra variación que podría gustar a otros:una función que puede indicar cuántos niveles de sangría 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. Shell Script para imprimir pirámide de Estrellas

  2. Ejecutar script de shell en paralelo

  3. Shell script directorio actual?

  4. Redirigir la salida del comando en la ventana acoplable

  5. determinar shell en el script durante el tiempo de ejecución

¿Cómo ejecutar un comando en un script de Shell?

Biblioteca de salida de scripts de shell de colores

¿Cómo administro la verbosidad del registro dentro de un script de shell?

¿Puedo usar la salida de tubería como un argumento de script de shell?

¿Puede un archivo .sh ser malware?

¿Es shell script un lenguaje de programación?