Объединить результаты команд в Bash - PullRequest
1 голос
/ 14 апреля 2020

Я искал одну однострочную строку для вывода строки со всеми данными:

Эти четыре [отдельные] команды выдают нужную мне информацию, но я не знаю, как объединить их в одна строка:

$ cat /proc/cpuinfo | grep "model name" | sed -n -e 's/^.*: //p'
ARMv6-compatible processor rev 7 (v6l)
$ lscpu | grep "CPU(s):" | awk '{print $2}'
1
$ lscpu | grep "CPU min MHz:" | awk '{print $4}'
700.0000
$ lscpu | grep "CPU max MHz:" | awk '{print $4}'
1000.0000

И я хотел получить:

ARMv6-compatible processor rev 7 (v6l) x1 @700 MHz (max @1000 MHz)

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

В одну сторону.

paste -d ' ' <(awk '/^model name/{sub(/.+: /,"");print;exit}' /proc/cpuinfo) <(lscpu | awk '/CPU min MHz:/{printf " (max @%d MHz) ", $4} /CPU max MHz:/{printf "@%d MHz",  $4} /^CPU\(s\):/{printf "x%s ", $2}')
1 голос
/ 14 апреля 2020

просто используя эхо

echo $(cat /proc/cpuinfo | grep "model name" | sed -n -e 's/^.*: //p') \
   x$(lscpu | grep "CPU(s):" | awk '{print $2}') \
   @$(lscpu | grep "CPU min MHz:" | awk '{print $4}') \
   '( max' $(lscpu | grep "CPU max MHz:" | awk '{print $4}') ')'

Кстати, вы можете использовать только grep "model name" /proc/cpuinfo вместо cat /proc/cpuinfo | grep "model name"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...