Результат печати команды сбоку

7

Можно распечатать результат из двух команд рядом друг с другом ...

Что-то вроде этого

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 может делать что-то подобное с файлами, но я не нашел способ сделать это для команд ...

    
задан Wolfy 15.10.2013 в 13:37
источник

3 ответа

12

Вы можете использовать замещение процесса

pr -m <(cmd1) <(cmd2)

, хотя в вашем случае, поскольку у вас есть одна команда и один файл:

ls -l | pr -m - bla.txt
    
ответ дан geirha 15.10.2013 в 13:48
источник
4

Вы можете использовать screen следующим образом:

В screen type Ctrl - a | для вертикали и Ctrl - a S для горизонтального разделения.

  • перейти к следующей области отображения: Ctrl - a вкладка
  • удалить текущую область: Ctrl - a X
  • удалите все регионы, кроме текущего: Ctrl - a Q

запустите ls -l /a в правой половине и cat bla.txt в левой части.

    
ответ дан chaos 15.10.2013 в 13:49
источник
1

TL; DR

Для получения более согласованных результатов воспользуйтесь комбинацией paste / column , а не pr .

  • В зависимости от вашей ОС pr неправильно смешивается в столбцах, когда размер входных данных отличается (Ubuntu, macOS) или даже хуже, будет печатать каждый вход на совершенно разных страницах (Centos 7)

  • pr обе добавляет и добавляет посторонний выход

FORMAT:

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

Подробное объяснение

Очень надежное решение возможно благодаря сочетанию команд paste и column .

Преимущества подхода paste / column над pr :

  • Чистый вывод из-за отсутствия метки времени или информации заголовка страницы, а также полного экрана пустых строк, добавленных

  • Столбцы всегда остаются раздельными, даже когда длина ввода различна.

Конкретный пример:

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

Реальный выход paste / column на Ubuntu 16.04:

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 поведение непоследовательно в Linux-вариантах.

Вывод версии pr на Ubuntu :

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

Вывод версии pr на OS X / macOs :

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 ...>

Вывод версии pr на Centos :

(Удивительно, что поведение pr в Centos 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 ...>
    
ответ дан Jay Taylor 25.05.2017 в 16:18
источник

Ознакомьтесь с другими вопросами по меткам