将密码文件,格式化下变得好看些,第三个字段过期时间要转换成正常的日期。
可使用以下几种命令:
1)cat /etc/shadow | awk 'BEGIN {FS=":"};{OFS="\t"};{ORS=""} {printf "%-20s\t",$1};system(" echo -n `date --date=\"19700101 +"$3" days\" +%Y%m%d`");{print "\t"$2"\n"}'
2)cat /etc/shadow | awk 'BEGIN {FS=":";OFS="\t";ORS=""};{printf "%-20s\t",$1};system("echo -n $(date --date=\"19700101 +"$3" days\" +%Y%m%d)");{print "\t"$2"\n"}'
3)cat /etc/shadow | awk 'BEGIN {FS=":";ta="19700101 +"};{tc=ta""$3" days"; "date --date=\""tc"\" +%Y%m%d" | getline bb} ; {print $1,$2,bb}'
4)head -n4 /etc/shadow | awk 'BEGIN {FS=":";OFS="\t"};{"date --date=\"19700101 +"$3" days\" +%Y%m%d" | getline expir};{print $1,$2,expir}'
1、2这两种方式实际上是一样的。
root 20120811 !
daemon 20100429 *
bin 20100429 *
sys 20100429 *
sync 20100429 *
games 20100429 *
man 20100429 *
lp 20100429 *
mail 20100429 *
news 20100429 *
uucp 20100429 *
proxy 20100429 *
www-data 20100429 *
backup 20100429 *
list 20100429 *
irc 20100429 *