- n=20; while read -r head acl; do
- if [ "$head" = "%acl" ]; then
- acl_collection="${acl%${CR}}${BR}"
- printf "%s\n" "${acl%${CR}}"
- n=$((n+1))
- fi
+ acl="$(sed -En '
+ s;\r$;;;
+ /^%acl([\t ]+.*)?$/bACL;
+ 20q;
+ b;
+
+ :ACL
+ s;(%(acl)?)?[\t ]*;;
+ p; n; s;\r$;;;
+ /^(%[ \t]+|%acl[ \t]+|[ \t]+)[^ \t\r]+$/bACL;
+ /^(%[ \t]*|%acl[ \t]*)$/bACL;
+ ' <"$pagefile")"