勉強のためにawkでできることを無理矢理いろいろ詰め込んだコマンド。一通りの機能を使ってみたのでこれが分かればawkがだいたい分かるかも。 以下のコマンドで/etc/passwdから「itmst」を含む行を抽出し、整形して表示することができる。 $ awk 'BEGIN{FS=":"; n=0;} function myfunc(a,b){if(a == 1000){print "!!!!uid 1000!!!!";} return a+b} $0 ~ /itmst/ {line[n]=$1"@"$3; n++; printf("NAME:%s, HEX-UID:%04x, uid+gid=%d\n",$1,$3,myfunc($3,$4));} END{for(i=0;i<int(n);i++){print line[i]}}' /etc/passwd !!!!uid 1000!!!!