我正在搜索显示带有列表格式的service --status-all
命令输出的方法(如ls
那样)
我看过很少使用prinf
的提示,但我不会理解任何事情:s
想法是这样的:
Status Service Name || Status Service Name
[ + ] Apache [ + ] cntlm
[ + ] MySQL [ + ] cron
[ - ] casper
[ ? ] irqbalance
而不是
[ + ] Apache
[ + ] cntlm
[ + ] cron
[ + ] MySQL
[ - ] casper
[ ? ] irqbalance
有什么想法吗? :(
答案 0 :(得分:3)
pr
命令可以做到这一点。
echo "$input" | pr -2t
给出
[ + ] Apache [ + ] MySQL
[ + ] cntlm [ - ] casper
[ + ] cron [ ? ] irqbalance
,而
echo "$input" | pr -2at
给出
[ + ] Apache [ + ] cntlm
[ + ] cron [ + ] MySQL
[ - ] casper [ ? ] irqbalance
-2
表示2列-a
表示"跨越" -t
跳过页眉答案 1 :(得分:0)
您也可以使用column
命令:
service --status-all 2>&1 | column -c 70
(2>&1
命令中的service
部分会将状态未知的服务重定向到标准输出而不是 stderr ,从而避免[ ? ]
个服务被列为分开)
-c 70
命令中的column
表示您希望列70个字符宽(至少是manual page中指定的那个)