प्रिंट कमांड परिणाम पक्ष की ओर से


11

2 कमांड्स के परिणाम को एक साथ प्रिंट करना संभव है ...

कुछ इस तरह

something `ls -l /a` `cat bla.txt`

परिणाम:

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

मुझे पता है कि prफ़ाइलों के साथ ऐसा कुछ हो सकता है, लेकिन मुझे कमांड के लिए ऐसा करने का तरीका नहीं मिला ...

जवाबों:


13

आप प्रक्रिया प्रतिस्थापन का उपयोग कर सकते हैं

pr -m <(cmd1) <(cmd2)

हालांकि आपके मामले में, चूंकि आपके पास एक कमांड और एक फाइल है:

ls -l | pr -m - bla.txt

2
के बजाय pr -mएक का उपयोग कर सकते हैं paste
रामचंद्र आप्टे

1
@RamchandraApte हां, हालांकि pasteउन्हें स्तंभों की तरह संरेखित नहीं किया जाएगा pr -m
जिरह

4

आप screenइस तरह का उपयोग कर सकते हैं :

में screenप्रकार Ctrl- a |ऊर्ध्वाधर और के लिए Ctrl- a Sक्षैतिज विभाजन के लिए।

  • अगले प्रदर्शन क्षेत्र पर जाएं: Ctrl-a Tab
  • वर्तमान क्षेत्र निकालें: Ctrl-a X
  • सभी क्षेत्रों को हटा दें लेकिन वर्तमान एक: Ctrl-a Q

ls -l /aदाएं आधे और cat bla.txtबाएं हिस्से में शुरू करें ।


जहां screenकाम करता है, वहां tmuxभी काम करता है।
किरी

3

टी एल; डॉ

अधिक सुसंगत परिणाम प्राप्त करने के बजाय paste/ के संयोजन का उपयोग करने पर विचार करें ।columnpr

  • आपके ओएस पर निर्भर करते हुए, prगलत तरीके से कॉलम में मिलाया जाता है जब इनपुट लंबाई भिन्न होती है (उबंटू, मैकओएस) या इससे भी बदतर पूरी तरह से अलग पृष्ठों पर प्रत्येक इनपुट को प्रिंट करेगा (सेंटोस 7)

  • pr दोनों प्रीपरेंड और एक्सट्रूज़न आउटपुट को जोड़ते हैं

प्रारूप:

paste <(cmd1) <(cmd2) | column -s $'\t' -t

विस्तृत विवरण

pasteऔर columnआदेशों के संयोजन के माध्यम से एक अत्यधिक मजबूत समाधान संभव है ।

पर paste/ columnदृष्टिकोण के लाभ pr:

  • कोई टाइमस्टैम्प या पेज हेडर जानकारी प्रिपेंड होने के कारण क्लीनर आउटपुट, और न ही खाली लाइनों की पूरी स्क्रीन संलग्न है

  • इनपुट लंबाई अलग होने पर भी कॉलम हमेशा अलग रहते हैं

ठोस उदाहरण:

paste <(ls -1 .) <(ls -1 ..) | column -s $'\t' -t

उबुन्टु 16.04 पर वास्तविक जीवन का उत्पादन paste/ columnतकनीक:

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ paste <(ls -1 .) <(ls -1 ..) | column -s $'\t' -t
LICENSE            archiveify
README.md          go-hostsfile
html2text.go       html2text
html2text_test.go  jaytaylor
testdata           mockery-example
shipbuilder
stoppableListener
tesseract-web

यह भी देखें: पाठ फ़ाइलों को कॉलम-वार गठबंधन करें

तुलना के लिए: prविभिन्न प्लेटफार्मों पर

TL; DR: pr व्यवहार लिनक्स फ्लेवर में असंगत है।

Ubuntupr पर संस्करण का आउटपुट :

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr -m <(ls -1 .) <(ls -1 ..)


2017-05-25 15:50                    /dev/fd/62                    Page 1


LICENSE                 archiveify
README.md               go-hostsfile
html2text.go                html2text
html2text_test.go           jaytaylor
testdata                mockery-example
                    shipbuilder
                    stoppableListener
                    tesseract-web

OS X / macOspr पर संस्करण का आउटपुट :

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr -m <(ls -1 .) <(ls -1 ..)


May 25 08:55 2017  Page 1


LICENSE                 archiveify
README.md               go-hostsfile
html2text.go                html2text
html2text_test.go           jaytaylor
testdata                mockery-example
                    shipbuilder
                    stoppableListener
                    tesseract-web

<... remainder of screen filled with blank lines ...>

Centospr पर संस्करण का आउटपुट :

(आश्चर्यजनक रूप से prCentos 7 के तहत व्यवहार किए गए अन्य सभी प्लेटफार्मों से भिन्न होता है)

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr <(ls -1 .) <(ls -1 ..)


2017-05-25 15:59                    /dev/fd/63                    Page 1


LICENSE
README.md
html2text.go
html2text_test.go
testdata

<... remainder of screen filled with blank lines ...>

2017-05-25 16:21                    /dev/fd/62                    Page 1


archiveify
go-hostsfile
html2text
jaytaylor
mockery-example
shipbuilder
stoppableListener
tesseract-web

<... remainder of screen filled with blank lines ...>

अच्छा। स्वीकृत उत्तर से बेहतर है। लेकिन फिर भी, रंगीन आउटपुट सब कुछ तोड़ देता है। paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t
दर्शन २

यह सुनकर खुशी हुई कि यह आपको मददगार लगा। चीयर्स!
जे टेलर

यह सहायक है लेकिन रंगों के साथ ठीक से काम नहीं कर रहा है। कमांड के ऊपर देखें। क्या आप जानते हैं कि इस बारे में क्या करना है? धन्यवाद
phil294

हां, रंग हमेशा इसे गड़बड़ करेंगे। : इनपुट से पहले से रंग स्ट्रिपिंग काम कर सकता है, उदाहरण के लिए इन संसाधनों को देखने के लिए commandlinefu.com/commands/view/3584/... या unix.stackexchange.com/questions/140251/...
जे टेलर

यह अधिक पूर्ण उत्तर है और स्वीकृत उत्तर होना चाहिए।
जेरेमी इगलहर्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.