mirror of
https://github.com/Theodor-Springmann-Stiftung/lenz-web.git
synced 2025-10-28 16:55:32 +00:00
23 lines
445 B
Bash
Executable File
23 lines
445 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Usage: ./list_tags_and_attrs.sh file.xml
|
|
|
|
if [[ -z "$1" ]]; then
|
|
echo "Usage: $0 file.xml" >&2
|
|
exit 1
|
|
fi
|
|
|
|
FILE="$1"
|
|
|
|
# 1. list all unique tags
|
|
tags=($(xmlstarlet el -v "$FILE" | awk -F/ '{print $NF}' | sort -u))
|
|
|
|
for tag in "${tags[@]}"; do
|
|
echo "$tag"
|
|
# 2. for each tag, list all attribute values
|
|
xmlstarlet sel -t \
|
|
-m "//$tag/@*" \
|
|
-v '.' -n "$FILE" \
|
|
| sort -u \
|
|
# 3. deduplicate via sort -u
|
|
done
|