Dimungkinkan untuk mencetak hasil dari 2 perintah berdampingan ...
Sesuatu seperti ini
something `ls -l /a` `cat bla.txt`
hasil:
total 24 #while [ 1 = 1 ]; do
-rw-r--r-- 1 wolfy wolfy 194 Aug 13 08:50 c.in # echo "bla"
-rwxr-xr-x 1 wolfy wolfy 52 Sep 24 11:48 bla.sh #done
-rwxr-xr-x 1 wolfy wolfy 38 Sep 24 11:48 bla1.sh echo "bla"
-rwxr-xr-x 1 wolfy wolfy 147 Sep 24 11:54 ble.sh
Saya tahu itu pr
bisa melakukan sesuatu seperti ini dengan file, tetapi saya tidak menemukan cara untuk melakukan ini untuk perintah ...
command-line
output
Wolfy
sumber
sumber
pr -m
bisa digunakanpaste
.paste
tidak akan menyelaraskannya di kolom sepertipr -m
halnya.Anda bisa menggunakan
screen
seperti ini:Dalam
screen
jenis Ctrl- a |untuk vertikal dan Ctrl- a Suntuk perpecahan horisontal.mulai
ls -l /a
di bagian kanan dancat bla.txt
kiri.sumber
screen
bekerja,tmux
bekerja juga.TL; DR
Pertimbangkan untuk menggunakan kombinasi
paste
/column
daripadapr
untuk mendapatkan hasil yang lebih konsisten.Bergantung pada OS Anda,
pr
campuran yang salah di kolom ketika panjang input berbeda (Ubuntu, macOS) atau bahkan lebih buruk akan mencetak setiap input pada halaman yang sama sekali berbeda (Centos 7)pr
baik prepends dan menambahkan output asingFORMAT:
Penjelasan detail
Solusi yang sangat kuat dimungkinkan melalui kombinasi perintah
paste
dancolumn
.Keuntungan dari
paste
/column
pendekatan lebih daripr
:Output yang lebih bersih karena tidak ada cap waktu atau informasi tajuk halaman yang ditambahkan sebelumnya, atau layar penuh baris kosong yang ditambahkan
Kolom selalu terpisah meskipun panjang inputnya berbeda
Contoh nyata:
Output
paste
/column
teknik nyata di Ubuntu 16.04:Lihat juga: menggabungkan file teks dengan bijaksana
Untuk Perbandingan:
pr
pada berbagai platformTL; DR:
pr
perilaku tidak konsisten di semua rasa Linux.Output dari
pr
versi di Ubuntu :Output dari
pr
versi pada OS X / macOs :Output dari
pr
versi di Centos :(Secara mengejutkan perilaku di
pr
bawah Centos 7 berbeda dari semua platform lainnya yang diuji)sumber
paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t