我有一个文件(logins.txt),我需要将它制作成一个只显示第一次和最后一次登录日期/时间以及最后一次登录日期/时间的文件。logins.txt 如下所示:
Feb 13 2:43 (login IP)
Feb 13 2:48 (login IP)
Feb 13 5:23 (login IP)
Feb 13 9:43 (login IP)
Feb 14 1:34 (login IP)
Feb 14 8:42 (login IP)
Feb 14 8:47 (login IP)
我想打印:
First Login: Feb 13 2:43
Last Login: Feb 14 8:47
现在请记住,我正在使用一个 .awk 文件,其中包含我的所有 awk 语句,它执行 logins.txt 并使用我想要打印的内容创建一个不同的文件。
最后一次登录很容易。我只是简单地说:
END{
print "$1, $2, $3";
}
打印出这些字段的最后一次出现。但是我如何在第一次出现时做到这一点?
编辑:太棒了,将 NR==1 工作,但我需要在 END 字段中使用它,因为我需要它在我想要打印的其他内容下方。我如何把它放在一切之下?我也希望它像这样打印:
Blah blah blah blah blah blah blah blah
Blah blah blah blah blah blah blah blah
Blah blah blah blah blah blah blah blah
First Login: Feb 13 2:43 Last Login: Feb 14 8:47
这是我的 END 打印语句
NF==1 {a=$1; b=$2; c=$3;}
END{
print "Feed\t\t\tAccepted\tRejected\tCanceled";
print "-----------------------------------------------------------------";
print "swrinde:\t\t", accepted_sw"\t\t", rejected_sw"\t\t", canceled_sw"\t\t";
print "news.cais.net:\t\t", accepted_ne"\t\t", rejected_ne"\t\t", canceled_ne"\t\t";
print "\?:\t\t\t", accepted_un"\t\t", rejected_un"\t\t", canceled_un"\t\t";
print "\nStart Time = ", a, b, c RS "\tEnd Time =", $1, $2, $3;
}