29 lines
601 B
Bash
Executable File
29 lines
601 B
Bash
Executable File
#!/bin/bash
|
|
|
|
parse() {
|
|
while read line; do
|
|
[ "${line:0:1}" = '#' -o "${line:0:1}" = ';' ] && continue
|
|
line="${line## *}"
|
|
[ -z "$line" ] && continue
|
|
set -- $line
|
|
case "$1" in
|
|
('u')
|
|
echo "user($2)"
|
|
echo "group($2)"
|
|
# TODO: user:group support
|
|
;;
|
|
('g')
|
|
echo "group($2)"
|
|
;;
|
|
('m')
|
|
echo "user($2)"
|
|
echo "group($3)"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
while read fn; do
|
|
parse < "$fn"
|
|
done
|