From 14f97e1765aa7fc4d6b720923ba2f32c4c590fe5 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Wed, 7 Apr 2021 21:18:26 +0200 Subject: [PATCH] deckblatt edit --- Adressen/address.sh | 8 +++++--- Adressen/deckblatt.sh | 40 ++++++++++++++++++++++++++++++---------- README.md | 29 ++++++++++++++++------------- 3 files changed, 51 insertions(+), 26 deletions(-) diff --git a/Adressen/address.sh b/Adressen/address.sh index b9101ba..b921113 100755 --- a/Adressen/address.sh +++ b/Adressen/address.sh @@ -22,12 +22,13 @@ function usage { -a Print address -f Print fax number -t Print telephone number - -p Print parent handle" + -p Print parent handle + -e Edit entry" exit 1 } -if [ "$F" = "-l" ] # -l möchte kein weiteres Argument, im Gegensatz zu allen anderen Optionen. +if [ "$F" = "-l" ] # -l nimmt kein weiteres Argument, im Gegensatz zu allen anderen Optionen. then echo "handle: Name" while IFS="," read -r COL1 COL2 COLX @@ -51,7 +52,8 @@ fi if [ $# -gt 2 ] then - echo "Ignoriere überschüssige Argumente\n" + echo "Ignoriere überschüssige Argumente + " usage fi diff --git a/Adressen/deckblatt.sh b/Adressen/deckblatt.sh index f0285f4..f7eda15 100755 --- a/Adressen/deckblatt.sh +++ b/Adressen/deckblatt.sh @@ -15,28 +15,28 @@ if [ -e DECKBLATT.csv ] then # Formatiert anzeigen echo "Deckblatt für $PWD" - join -t, -1 2 -2 1 <(sort -t, -k2 DECKBLATT.csv) <(sort $BASEPATH/Adressen.csv) -o 1.4,2.2,1.2,1.3 -a 1 | grep -v handle | sort | awk -F, '{ print $2 " (" $3 "): " $4 }' | sed -e 's|"||g' -e 's|^ (me)|Mein Az|' + join -t, -1 2 -2 1 <(sort -t, -k2 DECKBLATT.csv) <(sort $BASEPATH/Adressen.csv) -o 1.4,2.2,1.2,1.3 -a 1 | grep -v handle | sort | awk -F, '{ print $2 " (" $3 "): " $4 }' | sed -e 's|"||g' -e 's|^ ()|Mein Az|' else # Neu anlegen read -p "Kein Deckblatt im Verzeichnis. Lege neues Deckblatt an? " NEW if [[ ! $NEW =~ [yYjJ] ]]; then exit 0; fi read -p "Mein Aktenzeichen: " MYAZ - until [[ $GEG =~ AG|LG|OLG|BGH|SG|VG|OVG|BVG|BVerfG|Pol|StA ]] - do - read -p "aktuelle Gegenseite? (AG/LG/OLG/SG/VG/OVG/BVG/BVerfG/Pol/StA) " GEG - done + echo "aktuelle Gegenseite?" + select GEG in AG LG OLG SG VG OVG BVG BVerfG Pol StA JC + do if [ ! -z "$GEG" ]; then break; fi; done + echo Auswahl: $GEG read -p "Deren Aktenzeichen: " AZ until [ $GEGHANDLE ] do read -p "Das eindeutige Kürzel für die Gegenseite: " GEGHANDLE GEGNAME=$($BASEPATH/address.sh -n $GEGHANDLE) - if [ $GEGNAME ] + if [ -z "$GEGNAME" ] then - read -p "$GEGNAME als Gegenseite bestätigen? (y/n) " GEGSAVE - if [[ ! $GEGSAVE =~ [yYjJ] ]]; then GEGSAVE= ; fi - else read -p "$GEGHANDLE nicht gefunden. Neu anlegen? (y/n) " GEGSAVE if [[ $GEGSAVE =~ [yYjJ] ]]; then $BASEPATH/address.sh -g $GEGHANDLE ; else GEGSAVE= ; fi + else + read -p "$GEGNAME als Gegenseite bestätigen? (y/n) " GEGSAVE + if [[ ! $GEGSAVE =~ [yYjJ] ]]; then GEGSAVE= ; fi fi done if [[ $GEG =~ AG|LG|OLG|BGH ]] @@ -47,6 +47,26 @@ else then STA="StA,,$STAZ,\n" fi - echo -e "INH,handle,az,stand\nME,,$MYAZ,0\n${STA}$GEG,$GEGHANDLE,$AZ,+" + echo -e "INH,handle,az,stand\nME,,$MYAZ,0\n${STA}$GEG,$GEGHANDLE,$AZ,+" > DECKBLATT.csv fi +if [ $EDIT = true ] +then + echo "Was möchtest du tun?" + OPT1="Vorhandene Instanz zuständig machen" + OPT2="Neues Aktenzeichen anlegen" + select ACTION in "$OPT1" "$OPT2" + do if [ -n "$ACTION" ]; then break; fi; done + case "$ACTION" in + "$OPT1") + sed -i.bac -e "s/\+$//" DECKBLATT.csv + select NEWZ in $(cut -d, -f2 DECKBLATT.csv | tail -2) #Titelzeile und eigene Zeile weglassen + do if [ ! -z "$NEWZ" ]; then break; fi; done + LN=$(nl DECKBLATT.csv | grep -w $NEWZ | cut -f1 | tr -d " ") + sed -i.bac2 -e "${LN}s/$/+/" DECKBLATT.csv + ;; + + "$OPT2") + ;; + esac +fi diff --git a/README.md b/README.md index 47b6fa2..c69a039 100644 --- a/README.md +++ b/README.md @@ -55,21 +55,24 @@ Wo `INH ∈ {AG,LG,StA,OLG,BVerfG,VG,OVG,GEG,SG}` und `stand='+'` in der Zeile d #### `address.sh` Führt durch die Eintragung in die Adressdatenbank oder gibt einzelne Werte aus selbiger zurück. (Zur Verwendung durch `sipgate-cli` zB) ``` -./address.sh +Usage: + ./address.sh