Assistance with multiple line file in AWK
下記のファイルで、":" の付いた名前と rlogin が true になったものをピックアップするんだそうな。
******************************************************************* * VALID USER ATTRIBUTES: * * * cisinfo: login = false umask = 77 rlogin = false admin = false steam: login = false umask = 77 rlogin = true admin = false
ま、当然、いろいろ出てます。
普通なものは、
$1 ~ /:$/ { name = $1 } "rlogin"==$1 && "true"==$3 { print name $0 }
ファイル全体をレコードとした場合には、
gawk -vRS= '$10=="true"{print $1,$8,$10}' file
とか
alias rawk 'gawk -v RS="\n *\n" -v ORS="\n\n"' rawk '/rlogin = true/' file
もっともこれにはいろいろあって、-vRS なんてしなくていいだろうという意見も多数ありました。
個人的には前者が好きかな。