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

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

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

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

1
задан 15 October 2013 в 18:37

2 ответа

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

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

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

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

4
ответ дан 24 May 2018 в 16:48

TL; DR

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

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

FORMAT: [ ! d8]

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

TL; DR

Очень надежное решение возможно с помощью комбинации paste и .

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

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

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

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

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

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

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

См. также: объединить текстовые файлы column-wise

Для сравнения: pr на разных платформах

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

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

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 на Реальный выход paste / column на Ubuntu 16.04: :

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 в OS X / macOs:

Выход pr v ция на Centos:

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 ...>
1
ответ дан 24 May 2018 в 16:48

Другие вопросы по тегам:

Похожие вопросы: