命令lastlog
会返回四个字段,例如Username
,Port
,From
和Latest
。
例如。
$ lastlog
Username Port From Latest
root **Never logged in**
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**
sync **Never logged in**
games **Never logged in**
我只需要字段username
和latest
。
如何使用grep
或awk
?
答案 0 :(得分:3)
输出是固定宽度,并且不保证字段数,所以我会这样做:
$ lastlog | cut -c1-15,44-
Username Latest
root **Never logged in**
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**
sync **Never logged in**
games **Never logged in**
根据您自己系统上lastlog
的给定输出进行适当调整。
答案 1 :(得分:1)
原则上:
lastlog | awk '{print $1,$4}'
但是,您的最后一个字段由空格分隔,因此awk
不会将其视为单个字段。如果您希望最后一部分使用cut
:
lastlog | cut -c 1-10,40-
答案 2 :(得分:1)
sed -r 's/(.{10}).{25}/\1/' file
..输出是:
Username Latest root **Never logged in** daemon **Never logged in** bin **Never logged in** sys **Never logged in** sync **Never logged in** games **Never logged in**