最初と最後のログイン日時と最終ログイン日時のみを表示するファイルにする必要があるファイル (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
ここで、 logins.txt を実行し、印刷したいもので別のファイルを作成する awk ステートメントがすべて含まれている .awk ファイルを使用していることに注意してください。
前回のログインは簡単でした。私は単に置く:
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
これがprintステートメントを含む私の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;
}