【redhat 5.5】linuxのawkまとめ
1470 ワード
1 UID 30-40
awk -F : '{ for(i=30;i<=40;++i) if (i==$3) print $1,$3}' /etc/passwd
2 5-10行目を印刷し、ユーザー名と行番号を出力します.
awk -F : '{if(NR>=5&&NR<=10) print NR,$1}' /etc/passwd
3奇数行を印刷
awk -F : '{if(NR%2!=0) print $0}' /etc/passwd | head -5
4偶数行の印刷
awk -F : '{if(NR%2==0) print $0}' /etc/passwd | head -5
5印刷UIDがGIDに等しくないユーザ名
awk -F : '{if($1!=$5) print $1,$5}' /etc/passwd
6 shellが指定されていないユーザー名を印刷
awk -F : '{if($7=="") print $1}' /etc/passwd
7印刷1-1000以内に7で割り切れる数と7を含む数
awk -f test7.awk
1 BEGIN{
for ( i=1;i<=1000; i++){
if(i%7==0) printf ("\033[1;33m%d\033[0m\t",i)
else if (i%10==7) printf ("%d\t",i)
else if ((i/10)%10==7) printf ("%d\t",i)
else if ((i/100)%10==7) printf ("%d\t",i)
}
print ""
}
BEGIN{
for( i=1; i<=1000;i++)
if (i~/7/ || i%7==0) printf i "\t"
}