first commit
This commit is contained in:
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script pour découper les tweets par mois à partir d'un fichier CSV
|
||||
|
||||
# Vérifier si un fichier CSV est fourni en argument
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: $0 <fichier_csv>"
|
||||
echo "Exemple: $0 twitter-SearchTimeline-1780757216075.csv"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CSV_FILE="$1"
|
||||
|
||||
# Vérifier si le fichier existe
|
||||
if [ ! -f "$CSV_FILE" ]; then
|
||||
echo "Erreur: Le fichier '$CSV_FILE' n'existe pas."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Découpage des tweets par mois à partir de: $CSV_FILE"
|
||||
|
||||
# Créer un répertoire pour les fichiers de sortie
|
||||
OUTPUT_DIR="tweets_par_mois"
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
# Extraire l'en-tête
|
||||
head -n 1 "$CSV_FILE" > "$OUTPUT_DIR/header.csv"
|
||||
|
||||
# Extraire les mois uniques (format YYYY-MM) en ignorant l'en-tête
|
||||
MOIS=$(tail -n +2 "$CSV_FILE" | cut -d',' -f1 | sed 's/"//g' | cut -d'-' -f1,2 | sort -u | grep -E '^[0-9]{4}-[0-9]{2}$')
|
||||
|
||||
echo "Mois trouvés: $MOIS"
|
||||
|
||||
# Pour chaque mois, créer un fichier séparé
|
||||
for mois in $MOIS; do
|
||||
echo "Traitement du mois: $mois"
|
||||
|
||||
output_file="$OUTPUT_DIR/tweets_$mois.csv"
|
||||
|
||||
# Copier l'en-tête
|
||||
cp "$OUTPUT_DIR/header.csv" "$output_file"
|
||||
|
||||
# Extraire les tweets de ce mois
|
||||
tail -n +2 "$CSV_FILE" | grep "^$mois-" >> "$output_file"
|
||||
|
||||
# Compter le nombre de tweets
|
||||
nb_tweets=$(($(wc -l < "$output_file") - 1))
|
||||
echo " → $nb_tweets tweets sauvegardés dans $output_file"
|
||||
done
|
||||
|
||||
# Nettoyer le fichier d'en-tête temporaire
|
||||
rm "$OUTPUT_DIR/header.csv"
|
||||
|
||||
echo ""
|
||||
echo "Découpage terminé! Les fichiers sont dans le répertoire '$OUTPUT_DIR/'"
|
||||
echo "Résumé des fichiers créés:"
|
||||
ls -la "$OUTPUT_DIR"
|
||||
Reference in New Issue
Block a user