mallek-ahmed / Git-Repo

0 stars 0 forks source link

Filter Gros Fichier #20

Open mallek-ahmed opened 1 year ago

mallek-ahmed commented 1 year ago

!/bin/bash

Variables

GROS_FICHIER="gros_fichier.txt" FICHIER_IDENTIFIANTS="fichier_identifiants.txt" PREFIXE_TEMPORAIRE="fichierpart" TAILLE_MORCEAU="4G" FICHIER_FINAL="fichier_final_filtré.txt" MOTIFS_TEMP="motifs.txt"

Préparez les motifs pour grep

awk '{print "^" $0}' $FICHIER_IDENTIFIANTS > $MOTIFS_TEMP

Divisez le gros fichier en morceaux

split -C $TAILLE_MORCEAU $GROS_FICHIER $PREFIXE_TEMPORAIRE

Filtrez chaque morceau

for fichier in ${PREFIXE_TEMPORAIRE}*; do echo "Traitement de $fichier ..." grep -F -f $MOTIFS_TEMP $fichier > "${fichier}_filtré" done

Concaténez tous les fichiers filtrés

cat ${PREFIXE_TEMPORAIRE}*"_filtré" > $FICHIER_FINAL

Nettoyage (optionnel - à commenter si vous voulez garder les fichiers temporaires)

rm $MOTIFS_TEMP ${PREFIXE_TEMPORAIRE} ${PREFIXE_TEMPORAIRE}"_filtré"

echo "Terminé! Le fichier filtré est: $FICHIER_FINAL"