繁体   English   中英

在 Bash 中连接命令的结果

[英]Concatenate results of commands in Bash

我一直在寻找一个单一的单行来生成包含所有数据的行:

这四个 [separate] 命令产生我需要的信息,但我不知道如何将它们连接成一行:

$ 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)

只是使用回声

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" cat /proc/cpuinfo | grep "model name"

单程。

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}')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM