1

I've created a bash script that

  1. Lists the document IDs I've put in an Elastic index, in $liste_ids_lines:

     a004-événements-examen_individus_localisés_ou_non
     a020-les_points-leurs_indicateurs-usage_dans_postgis
     a022-les_lignes-leurs_indicateurs-usage_dans_postgis
     a024-les_vecteurs-leurs_indicateurs-usage_dans_postgis
     a030-topologie_avec_PostGIS
     a031-topologie_relations_spatiales-voisinages_arrangements
     a032-topologie_espace_plan_homogène_isotrope-synthese_objets_et_dispersion
     a033-topologie_distribution_spatiale-et-pondération_par_la_distance
     a037-topologie-indicateurs_arrangement_spatial_par_classe-objets_zonaux
     a038-topologie_les_indicateurs_arrangement_spatial_par_région-objets-zonaux
     a039-topologie_les_indices_de_texture_et_de_structure
     a050-auto-correlation_spatiale
     a060-cartographie
     a061-mise_en_évidence_valeurs_significatives-correction_des_taux
     a062-interpolations-et-surfaces_de_tendance
     a091-modelisation-la_recherche_de_modele
     a092-modélisation_analyses-locales-et-globales
     a093-voisinages_et_autocorrelation_spatiale
     a094-inferences_generalisations_correlations
     a095-evolution_dans_le_temps-le_mouvement
     a096-evolution_dans_le_temps-processus
     a151-le_modele_de_paysage
     a406-topologie-passer_de_la_geometrie_a_la_topologie-postgis
     a410-topologie-les_operations
     a480-topologie-parcours_de_reseau-pgRouting
     a500-les_protocoles_des-services_géographiques-wms_wfs_etc
     a600-postgis-installation_et_configuration
     a621-postgis-chargement_de_donnees
     a623-postgis_ses_types_de_données
     a631-postgis-intersections_et_reunions
     a700-géocodage_adresses_coordonnées
    
  2. Lists my pdf files in their folders and retaisn their name without their directory or extension, in $liste_fichiers:

    a000-les_usages_de_la_cartographie
    a004-événements-examen_individus_localisés_ou_non
    a020-les_points-leurs_indicateurs-usage_dans_postgis
    a022-les_lignes-leurs_indicateurs-usage_dans_postgis
    a024-les_vecteurs-leurs_indicateurs-usage_dans_postgis
    a030-topologie_avec_PostGIS
    a031-topologie_relations_spatiales-voisinages_arrangements
    a032-topologie_espace_plan_homogène_isotrope-synthese_objets_et_dispersion
    a033-topologie_distribution_spatiale-et-pondération_par_la_distance
    a037-topologie-indicateurs_arrangement_spatial_par_classe-objets_zonaux
    a038-topologie_les_indicateurs_arrangement_spatial_par_région-objets-zonaux
    a039-topologie_les_indices_de_texture_et_de_structure
    a050-auto-correlation_spatiale
    a060-cartographie
    a061-mise_en_évidence_valeurs_significatives-correction_des_taux
    a062-interpolations-et-surfaces_de_tendance
    a091-modelisation-la_recherche_de_modele
    a092-modélisation_analyses-locales-et-globales
    a093-voisinages_et_autocorrelation_spatiale
    a094-inferences_generalisations_correlations
    a095-evolution_dans_le_temps-le_mouvement
    a096-evolution_dans_le_temps-processus
    a151-le_modele_de_paysage
    a201-extraction_données-et-modélisation_en_objets
    a406-topologie-passer_de_la_geometrie_a_la_topologie-postgis
    a410-topologie-les_operations
    a480-topologie-parcours_de_reseau-pgRouting
    a500-les_protocoles_des-services_géographiques-wms_wfs_etc
    a600-postgis-installation_et_configuration
    a621-postgis-chargement_de_donnees
    a623-postgis_ses_types_de_données
    a631-postgis-intersections_et_reunions
    a650-postgis-extraction_depuis_une_image_satellite
    a700-géocodage_adresses_coordonnées
    analyse_spatiale
    analyse_spatiale-a000-les-usages-de-la-cartographie
    analyse_spatiale-a022-postgis-extraction-depuis-une-image-satellite
    analyse_spatiale-a090-explicatif-modéliser-ce-qui-est-observé
    analyse_spatiale-a120-géodésie-et-projections
    analyse_spatiale-a150-le-modèle-numérique-de-terrain
    analyse_spatiale-a180-mapserver-installation-et-configuration
    analyse_spatiale-a181-mapserver-la-structure-d'un-mapfile
    analyse_spatiale-a191-grass-qgis-manipulations-générales
    

I would like to know what line isn't in the other list, considering these variables by their lines.

Currently, my diff command:

diff <( echo "$liste_ids_lines" ) <( echo "$liste_fichiers" )

lists (I'm reporting only a part of the command result):

1c1,225
< 
---
> a000-les_usages_de_la_cartographie
> a004-événements-examen_individus_localisés_ou_non
> a020-les_points-leurs_indicateurs-usage_dans_postgis
> a022-les_lignes-leurs_indicateurs-usage_dans_postgis
> a024-les_vecteurs-leurs_indicateurs-usage_dans_postgis
> a030-topologie_avec_PostGIS
> a031-topologie_relations_spatiales-voisinages_arrangements
> a032-topologie_espace_plan_homogène_isotrope-synthese_objets_et_dispersion
> a033-topologie_distribution_spatiale-et-pondération_par_la_distance
> a037-topologie-indicateurs_arrangement_spatial_par_classe-objets_zonaux
> a038-topologie_les_indicateurs_arrangement_spatial_par_région-objets-zonaux
> a039-topologie_les_indices_de_texture_et_de_structure
> a050-auto-correlation_spatiale
> a060-cartographie
> a061-mise_en_évidence_valeurs_significatives-correction_des_taux
> a062-interpolations-et-surfaces_de_tendance
> a091-modelisation-la_recherche_de_modele
> a092-modélisation_analyses-locales-et-globales
> a093-voisinages_et_autocorrelation_spatiale
> a094-inferences_generalisations_correlations
> a095-evolution_dans_le_temps-le_mouvement
> a096-evolution_dans_le_temps-processus
> a151-le_modele_de_paysage
> a201-extraction_données-et-modélisation_en_objets
> a406-topologie-passer_de_la_geometrie_a_la_topologie-postgis
> a410-topologie-les_operations
> a480-topologie-parcours_de_reseau-pgRouting
> a500-les_protocoles_des-services_géographiques-wms_wfs_etc
> a600-postgis-installation_et_configuration
> a621-postgis-chargement_de_donnees
> a623-postgis_ses_types_de_données
> a631-postgis-intersections_et_reunions
> a650-postgis-extraction_depuis_une_image_satellite
> a700-géocodage_adresses_coordonnées
> analyse_spatiale
> analyse_spatiale-a000-les-usages-de-la-cartographie
> analyse_spatiale-a022-postgis-extraction-depuis-une-image-satellite
> analyse_spatiale-a090-explicatif-modéliser-ce-qui-est-observé
> analyse_spatiale-a120-géodésie-et-projections
> analyse_spatiale-a150-le-modèle-numérique-de-terrain
> analyse_spatiale-a180-mapserver-installation-et-configuration
> analyse_spatiale-a181-mapserver-la-structure-d'un-mapfile
> analyse_spatiale-a191-grass-qgis-manipulations-générales

And I would like to read, instead:
either, the files that have no index:

a000-les_usages_de_la_cartographie
analyse_spatiale
analyse_spatiale-a000-les-usages-de-la-cartographie
analyse_spatiale-a022-postgis-extraction-depuis-une-image-satellite
analyse_spatiale-a090-explicatif-modéliser-ce-qui-est-observé
analyse_spatiale-a120-géodésie-et-projections
analyse_spatiale-a150-le-modèle-numérique-de-terrain
analyse_spatiale-a180-mapserver-installation-et-configuration
analyse_spatiale-a181-mapserver-la-structure-d'un-mapfile
analyse_spatiale-a191-grass-qgis-manipulations-générales

or the indices that don't have an associated file.

(I think it will require the execution of two diff commands, having their arguments switched)

Is it achievable by my diff command?
or should it be done by a special grep command?

8
  • 1
    Why is the line a004-événements-examen_individus_localisés_ou_non which exists in both the lists appears in your diff output? Commented Oct 15, 2023 at 6:32
  • @davidt930 I don't understand why. The result of my diff command looks strange to me, and this is why I've opened this question: diffdoesn't return what I've expected. Commented Oct 15, 2023 at 9:57
  • can you check the output of echo command? does it have newline? Commented Oct 15, 2023 at 10:00
  • 1
    I think I've found a part of my problem. A component of the diff looks saying: 1c1,225 < as if one member of the comparison was empty. It seems to be a bug in my script... Commented Oct 15, 2023 at 10:07
  • 2
    I cannot reproduce your output. If I store the two lists as files, and then run liste_ids_lines=$(cat file1); liste_fichiers=$(cat file2); diff <( echo "$liste_ids_lines" ) <( echo "$liste_fichiers" ) I get an output with only 16 lines, including the diff location stuff like 0a1. Can you show us the script? Does the output change if you use diff -w? Also, remember that diff needs sorted files, what is the output of diff -w <( echo "$liste_ids_lines" | sort ) <( echo "$liste_fichiers" | sort)? Commented Oct 15, 2023 at 13:06

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.