commit 7e5e2559b0a0d43125dd48c08f11605aab33d8f2 Author: uditaren Date: Fri Mar 27 09:36:49 2020 +0100 Add groupmerge script diff --git a/groupmerge.sh b/groupmerge.sh new file mode 100755 index 0000000..5c1cfde --- /dev/null +++ b/groupmerge.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# groupmerge.sh +# +# merge two /etc/groups together, avoiding id conflicts. +# to be used within dockerfiles + +if [[ ! -e $1 || ! -e $2 ]]; then + echo "usage: $0 " + echo "Use groupfile1 as the basis and merges missing entries from groupfile2" +fi + +cat $1 +echo "# merged entries:" +cat $2 | while read grp; do + name=$(echo $grp | cut -d ':' -f 1) + pass=$(echo $grp | cut -d ':' -f 2) + dgid=$(echo $grp | cut -d ':' -f 3) + rest=$(echo $grp | cut -d ':' -f 4-) + + line=$(cat $1 | grep -E "^$name:") + if [[ $line == "" ]]; then + echo $name:$pass:$(($dgid + 2000)):$rest + fi +done