#!/usr/bin/env bash red="\033[1;31m" greenbold="\033[1;32m" green="\033[0;32m" yellow="\033[0;33m" bold="\033[1m" #bold_under="\033[1;4m" italic="\033[3m" underline="\033[4m" reset="\033[0m" services=/Users/bruno/Downloads/SERVICES info=/Users/bruno/Downloads/INFO ser=$(cat "$services") inf=$(cat "$info") rp=() ap=() ot=() echo -e "${greenbold}Reading $services${reset}\n" printf "|${bold} %-40s ${reset}|${bold} %-20s ${reset}|${bold} %-60s ${reset}\n" "Display_name" "Subscriber" "Service" while read line; do display_name=$(echo "$line" | jq -r '.display_name') subscriber=$(echo "$line" | jq -r '.subscriber') service=$(echo "$line" | jq -r '.service') # Supprimer les "" #display_name="${display_name//\"/}" printf "| %-40s | %-20s | %-60s \n" "$display_name" "$subscriber" "$service" if [[ "$subscriber" == *ReverseProxy* ]]; then rp+=("$display_name") elif [[ "$subscriber" == *AppPortal* ]]; then if [[ "$display_name" == *photos-nas.ovh* ]]; then a=$(echo "$display_name" | awk -F" - " '{print $1}' | xargs) b=$(echo "$display_name" | awk -F" - " '{print $2}' | xargs) ap+=("$a") rp+=("$b") fi else if [[ "$display_name" == *photos-nas.ovh* ]]; then if [[ "$display_name" =~ :[0-9]{1,5}$ ]]; then c=$(echo "$display_name" | awk -F":" '{print $1}') rp+=("$c") else rp+=("$display_name") fi else ot+=("$display_name") fi fi done < <(jq -c '.[]' <<< "$ser") echo -e "\n\n" IFS=$'\n' reverseproxy=($(sort <<<"${rp[*]}")) appportal=($(sort <<<"${ap[*]}")) others=($(sort <<<"${ot[*]}")) unset IFS printf "| %-3s | ${bold}%-60s${reset} \n" "" "Reverse Proxy" i=1 for val in ${!reverseproxy[@]} do printf "| %-3s | %-60s \n" "$i" "${reverseproxy[$val]}" ((i++)) done echo -e "${italic}${#reverseproxy[@]} lines${reset}\n" printf "| %-3s | ${bold}%-60s${reset} \n" "" "AppPortal" i=1 for val in ${!appportal[@]} do printf "| %-3s | %-60s \n" "$i" "${appportal[$val]}" ((i++)) done echo -e "${italic}${#appportal[@]} lines${reset}\n" printf "| %-3s | ${bold}%-60s${reset} \n" "" "Others" i=1 for val in ${!others[@]} do printf "| %-3s | %-60s \n" "$i" "${others[$val]}" ((i++)) done echo -e "${italic}${#others[@]} lines${reset}\n"