Linux 使用awk将登录统计信息打印到文件
我正在使用awk将服务器登录名放入一个新文件中。我只需要前10个登录名以及过去用户的字段1、5、6。这是我发出的awk命令,但是我正在获取放置在我创建的新文件中的每个人的整个服务器登录统计信息。注意,“mark”是我要检查的人的姓:Linux 使用awk将登录统计信息打印到文件,linux,shell,awk,Linux,Shell,Awk,我正在使用awk将服务器登录名放入一个新文件中。我只需要前10个登录名以及过去用户的字段1、5、6。这是我发出的awk命令,但是我正在获取放置在我创建的新文件中的每个人的整个服务器登录统计信息。注意,“mark”是我要检查的人的姓: awk -F: '(NR > 1 && NR < 11) {print $1, $5, $6}' last mark > name_list awk-F:'(NR>1&&NR
awk -F: '(NR > 1 && NR < 11) {print $1, $5, $6}' last mark > name_list
awk-F:'(NR>1&&NR<11){print$1,$5,$6}'最后标记>名称列表
试试这个(我希望我能理解您的需求&您的最后一个
命令输出与我的相同):
last | awk'n命令中的“last”是什么?如果您能提供一个示例文件,它将对我们有所帮助。最后一个命令只是将特定用户登录到服务器的列表显示在屏幕上。我只想捕获最后10个登录名的w/字段1、5和6,并将其打印到一个文件中。仅供参考mark是示例人员的姓氏。如前所述,这告诉awk
尝试读取两个文件,一个名为last
,另一个名为mark
。我很确定这不是你想要的。太好了!我使用了这种格式,甚至修改了它来为我的文件做其他事情。非常感谢你。干杯。更常见的方法是awk'{do stuff}NR==10{exit}',这样在获得所有想要的输出后,就不会一直解析输入了。不过,对于小文件来说,这不会有明显的区别。
last | awk 'NR<=10{print $1, $5, $6}' > name_list
last | awk 'NR<=10{print $1, $5, $6 > $1".txt"}'