【发布时间】:2019-10-17 07:56:06
【问题描述】:
我正在尝试使用 awk 打印将来自最后一个命令的数据转换为纪元时间。该代码一直在 10.14.5 上运行,有时在 10.13.6 上运行。当我今天早上上班时它运行良好,然后大约 11 点开始给我错误。
基本上,awk 打印文字字符串,然后是换行符,然后是文字字符串和变量。例如, 如果 $1="Hello",那么:
awk '{print $1,"World"}'
实际上是在打印“世界 你好世界”
给出错误的实际代码行是这样的:
x=$(last -1 $a | awk '{print $3 " "$4 " " $5 " " $6 ":00 EDT "}')
应该将 x 设置为 "Fri May 31 12:43:00 EDT" 例如,将 x 设置为 " :00 EDT" 美国东部时间 5 月 31 日星期五 12:43:00"
编辑:我应该说代码行中的 $a 将设置为计算机上的用户名
【问题讨论】:
-
听起来你有 DOS 行尾。见stackoverflow.com/questions/45772525/…
-
您确定
last正在打印您期望的内容吗? -
在我的 High Sierra 系统上,
last除了wtmp begins Fri May 31 12:48之外什么都不显示
标签: bash macos awk printing macos-sierra