$ echo "$(lastlog | grep $USER | awk '{print $(NF-5)" "$(NF-3)" "$(NF-4)" "$(NF-2)" "$(NF-1)" "$(NF-0)}')"
Thu 7 Sep 05:56:35 +0100 2023
我想用or替换该+0100
位,如果该值是(我知道这个输出可能取决于区域设置)。BST
GMT
+0000
$(NF-1)
我确实测试了有条件设置变量的值,但我不知道如何将变量放入 awk print 命令中。
我还想在(日期)是单个数字时在$(NF-5)
和之间添加额外的空格,但在它是两位数时则不添加空格。$(NF-3)
$(NF-3)
如何最好地做到这一点?
对于时区,我建议添加一个
if
- 语句,因为您想检查两个可能的值:然后打印
zone
上面定义的变量。(print zone
)if 语句不能直接放入
print
/printf
命令中,而如果您只有一个更改,例如+0000
->GMT
这将起作用:对于空间填充
$(NF-3)
,声音方式是使用printf
。总之: