GNU/Linux >> Tutoriels Linux >  >> Linux

Indentation de la sortie multiligne dans un script shell

Dirigez-le vers sed pour insérer 2 espaces au début de chaque ligne.

git status | sed 's/^/  /'

En s'appuyant sur la réponse de @Barmar, voici une façon plus ordonnée de procéder :

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

git status | indent
other_command | indent

Merci à @Barmar et @Marplesoft pour quelques belles solutions simples - voici une autre variante que d'autres pourraient aimer - une fonction vous pouvez dire combien de niveaux d'indentation en utilisant 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 pour imprimer une pyramide d'étoiles

  2. Répertoire courant du script shell ?

  3. Comment gérer la verbosité du journal dans un script shell ?

  4. Puis-je utiliser la sortie du canal comme argument de script shell ?

  5. Rediriger la sortie de la commande dans docker

Déterminer le chemin d'accès au script shell sourcé ?

Comment exécuter une commande dans un script shell ?

Bibliothèque de sortie de script shell coloré

Script de translittération pour le shell Linux

Un fichier .sh peut-il être un malware ?

déterminer le shell dans le script pendant l'exécution