GNU/Linux >> Belajar Linux >  >> Linux

Indentasi output multi-baris dalam skrip shell

Pipa ke sed untuk menyisipkan 2 spasi di awal setiap baris.

git status | sed 's/^/  /'

Berdasarkan jawaban @Barmar, ini adalah cara yang lebih rapi untuk melakukannya:

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

git status | indent
other_command | indent

Terima kasih kepada @Barmar dan @Marplesoft untuk beberapa solusi sederhana yang bagus - ini adalah variasi lain yang mungkin disukai orang lain - sebuah fungsi yang dapat Anda ketahui berapa banyak tingkat indentasi menggunakan 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. Tentukan Shell In Script Selama Runtime?

  2. Waktu Habis Dalam Skrip Shell?

  3. Proses Dalam Sesi Dalam Shell Interaktif Vs Dalam Skrip?

  1. Bagaimana Mengenalinya Jika Output Dari Perintah Atau Skrip Shell Adalah Stdout Atau Stderr?

  2. Shell Script untuk mencetak piramida Bintang

  3. Menjalankan skrip shell secara paralel

  1. Direktori skrip Shell saat ini?

  2. Bisakah saya menggunakan output pipa sebagai argumen skrip shell?

  3. Apakah skrip shell adalah bahasa pemrograman?