Files
bashbirds/insert.sh
Bruno21 faf27258ec 19-08-2024
-ajout des mots-clés dans le presse-papier
-update possible à partir un repo Github privé
2024-08-19 16:25:26 +02:00

65 lines
1.7 KiB
Bash
Executable File

#!/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"
underline="\033[4m"
reset="\033[0m"
dir=$(dirname "$0") # /Users/bruno/Documents/Scripts/keywords2insta
if [ ! -f ./birds_plus.db ]; then
cmd0="CREATE TABLE liste (Francais string, Autres string, Latin string, Anglais string, Ordre string, Famille string, Liens string);"
echo "$cmd0" | sqlite3 ./birds_plus.db
if [ $? -ne 0 ]; then exit 0; fi
fi
array=()
if [ -f "$dir"/Oiseaux_europe_plus.csv ]; then
# export Excel : CSV UTF-8 (délimité par des virgules)
echo -e "Insertion des données du fichier .csv dans la base birds_plus.db...\n"
skip_headers=1
while IFS=';' read -ra array;
do
if ((skip_headers)); then # Ne pas lire le header
((skip_headers--))
else
fr="${array[0]}"
aut="${array[1]}"
lat="${array[2]}"
en="${array[3]}"
or="${array[4]}"
fa="${array[5]}"
ln="${array[6]}"
fr=$(echo "$fr" | sed "s/'/''/g")
aut=$(echo "$aut" | sed "s/'/''/g")
en=$(echo "$en" | sed "s/'/''/g")
or=$(echo "$or" | sed "s/'/''/g")
fa=$(echo "$fa" | sed "s/'/''/g")
cmd1="INSERT INTO liste (Francais, Autres, Latin, Anglais, Ordre, Famille, Liens) VALUES ('$fr','$aut','$lat','$en','$or','$fa','$ln');"
echo "$cmd1" | sqlite3 ./birds_plus.db
fi
done < <(grep "" "$dir"/Oiseaux_europe_plus.csv) # lit la dernière ligne même si elle n'est pas vide
else
echo -e "${red}No .csv file found !${reset}"
exit 1
fi
query="SELECT * FROM liste;"
result=$(sqlite3 ./birds_plus.db "$query")
echo "$result"