我想显示如下命令的输出:
1)
mount | grep -i "/dev/sd*" | awk '{ print NR "\t" $1 "\t" $3 }'
2)
/usr/sbin/smartctl -a /dev/sdb | grep Device: | awk '{print $2 }'
第一个命令显示 3 列多行,下一个命令显示一列信息。
我想连接命令和连接的输出,并显示为 4 列多行。请提出建议。
最佳答案
这就是 paste
的用途。使用 process substitution让 shell 像对待文件一样对待你的命令:
paste <(mount | awk 'tolower($0) ~ /\/dev\/sd*/ {print NR "\t" $1 "\t" $3}') \
<(/usr/sbin/smartctl -a /dev/sdb | awk '/Device:/ {print $2}')
我删除了 awk 可以轻松执行的 grep 命令。
关于linux - 使用 shell 脚本将两个命令的输出合并到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980711/