我有一个awk声明要在tmux上打印我的电池指示器,我在一个要点中找到了:
set -g status-right "batt: #(pmset -g batt | awk 'NR==2 {gsub(/;/,\"\"\\); \ print (match($3,/^ch/\\) ? \"\ \":\"\"\\) $2 $4}') | %d-%h %H:%M "
最终打印:batt: 60%2:18 | 05-Aug 11:51
如何在60%和2:18之后插入空格? $ 2变量是60%,$ 4是2:18。
所以我想输出:
batt: 60% 2:18 | 05-Aug 11:51
我尝试在每个可能的点添加空间,但它没有改变。是否有一种在awk中添加空格的特定方法?
答案 0 :(得分:0)
这应该可以解决问题:
awk 'NR==2 {gsub(/;/,\"\"\\);print (match($3,/^ch/\\) ? \"\ \":\"\"\\),$2,$4}'
您需要使用逗号将输出与OFS
中的awk
(输出字段分隔符)分开,默认情况下是{{1}}。没有逗号你正在进行字符串连接。