From e7a2befa8b4071368ed07c2172552c3bbeb898f3 Mon Sep 17 00:00:00 2001 From: Simon Rieger Date: Thu, 18 Jul 2024 14:19:57 +0200 Subject: [PATCH] add script for split work and privat passwords --- extract_work-bitwarden.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 extract_work-bitwarden.sh diff --git a/extract_work-bitwarden.sh b/extract_work-bitwarden.sh new file mode 100755 index 0000000..ad8c9fc --- /dev/null +++ b/extract_work-bitwarden.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -x + +# Name der Eingabedatei +input_file="$1" +output_with_arbeit="with_arbeit.json" +output_without_arbeit="without_arbeit.json" + +# Extrahiere die IDs der Sammlungen, die das Wort "Arbeit" im Namen enthalten +arbeit_collections=$(jq -r '.folders[] | select(.name | contains("Arbeit")) | .id' "$input_file") + +# Initialisiere die Ausgabedateien +echo '{"items": []}' > "$output_with_arbeit" +echo '{"items": []}' > "$output_without_arbeit" + +# Durchlaufe alle Items in der JSON-Datei +jq -c '.items[]' "$input_file" | while read -r item; do + # Hol die Collection ID des Items + folder_id=$(echo "$item" | jq -r '.folderId') + + # Überprüfe, ob das Item zu einer Sammlung gehört, die "Arbeit" im Namen hat + match_found=false + for arbeit_id in $arbeit_collections; do + if [[ "$folder_id" == "$arbeit_id" ]]; then + match_found=true + break + fi + done + + # Füge das Item zur entsprechenden Datei hinzu + if [ "$match_found" = true ]; then + jq --argjson item "$item" '.items += [$item]' "$output_with_arbeit" > tmp.json && mv tmp.json "$output_with_arbeit" + else + jq --argjson item "$item" '.items += [$item]' "$output_without_arbeit" > tmp.json && mv tmp.json "$output_without_arbeit" + fi +done