Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 12/12/2019, à 16:15

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

@Kamaris: Merci beaucoup pour ce magnifique coup de main, je n'avais pas abandonné le fils, mais le week-end passé j’avais pas d'internet puis après j'ai été malade.
Pour couronner le tout, quand je me suis remis au kikongo j'ai découvert que certains fichier de note avait été enregistré en uft16!!  Bref je termine le kikongo et je ferais les tests sur le portugais.
Encore merci.
Pour la boucle je fais comme avant?


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#52 Le 12/12/2019, à 16:30

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Aïe ! Les deux plus graves problèmes qui puissent arriver : la santé et internet (pour le deuxième c'est vrai depuis moins longtemps). J'espère que ça va mieux !
Pour la boucle il n'y en a plus besoin avec ce que j'ai donné en #50 : il suffit de passer au script la liste des fichiers à traiter.
Donc si le script s'appelle toujours « script », qu'il est toujours situé dans ton home, et que les fichiers de corps de texte sont toujours de la forme [0-9][0-9].txt, il suffit de faire

~/script /répertoire contenant les fichiers d'entrée/[0-9][0-9].txt

Ceci dit, avec la boucle ça marchera aussi, mais il ne faut plus rediriger la sortie, car le script écrit directement dans des fichiers *.cat :

for f in /répertoire contenant les fichiers d'entrée/[0-9][0-9].txt; do
  ~/script "$f"
done

Hors ligne

#53 Le 12/12/2019, à 17:08

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Ok merci pour ces précisions. Je viens pour le coup de me rendre compte qu'il arrive que d'autres balises sont présentes dans certains fichiers, comme par exemple \va* ou \vp* (dans tous les cas elle finissent soit par a* soit p*). Je ne sais pas si ça va influer dans le résultat en sachant que dans le portugais l'étoile est toujours précédée d'une espace avant le numéro de verset? ou bien alors faudrait-il tenir compte pour le coup de l'espace ?


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#54 Le 12/12/2019, à 18:42

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Oui, à priori ça va perturber les choses, car jusque-là j'ai supposé qu'un astérisque signifiait nécessairement une note (et qu'il ne pouvait y en avoir qu'un par ligne).
Mais ça devrait pouvoir être intégré facilement, par contre est-ce que tu pourrais donner un exemple stp ?

Hors ligne

#55 Le 12/12/2019, à 18:50

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Voilà un exemple:

\ca D\ca*
\va 1\va* No terceiro dia, terminada a sua oração, Ester despiu as ves­tes de peni­tência e vestiu as suas ves­tes de gala.
\va 2\va* E assim esplen­dida­mente ador­­nada, depois de ter invo­cado a Deus, seu salva­dor, que vê todas as coisas, tomou consigo duas servas.
\va 3\va* Apoiava-se sobre uma, como uma pes­soa delicada,
\va 4\va* ao passo que a outra a seguia, segurando a cauda do seu manto.
\va 5\va* Estava formosa como uma flor, de rosto rosado, ale­gre e atraente, mas com o coração an­­gus­tiado pelo temor.
\va 6\va* E, atravessando todas as portas, apresentou-se diante do rei. Assuero estava sentado no seu trono real, reves­tido de todos os ornamentos da sua majestade, coberto de ouro e de pedrarias, e o seu aspeto era im­pres­­sionante.
\va 7\va* Levantando a cabeça, ra­diante de majestade, dirigiu o seu olhar, cheio de cólera, para a rainha que, mudando de cor, desmaiou e dei­­xou cair a cabeça no ombro da ser­va que a acompanhava.
\va 8\va* Mas Deus mu­dou em doçura a cólera do rei que, assustado, se levantou pre­cipitada­mente do seu trono e a tomou nos braços, até que ela voltou a si. Pro­cu­rou acalmar o seu temor com doces palavras,
\va 9\va* dizendo-lhe: «Que tens, Es­ter? Sou teu irmão. Não temas!
\va 10\va* Não morrerás, porque a minha or­dem é para o comum do povo.
\va 11\va* Apro­ximate!»
\va 12\va* Levantou o cetro de ouro, apro­­ximou-o do seu pescoço e beijou-a, dizendo: «Podes falar-me.»
\va 13\va* Ela disselhe:
\va 14\va* *«Meu senhor, eu vi-te como um anjo de Deus e o temor da tua majes­tade perturbou o meu cora­ção.
\va 15\va* Por­que és, senhor, admirável e o teu rosto está cheio de gravidade.»
\va 16\va* Di­zendo estas palavras caiu de novo sem sen­tidos.
\va 17\va* O rei consternou-se e to­dos os seus servos procuravam rea­­nimá-la.
\p
\s2 Intervenção de Ester –
\p
\v 3 *O rei disse-lhe: «Que tens, rainha Ester, e que queres? Mesmo que pedisses metade do meu reino, isso te daria.»

Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#56 Le 12/12/2019, à 19:28

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Ok merci.
Quand tu dis ci-dessus à propos de ces balises étoilées que « dans tous les cas elle finissent soit par a* soit p* », est-ce que ça veut dire qu'elles peuvent seulement être de la forme \va* ou \vp*, ou bien aussi du genre \vwhatever[ap]*, ou bien même \whatever[ap]* ?

Hors ligne

#57 Le 13/12/2019, à 00:36

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

En attendant de préciser cette histoire de versets étoilés, j'ai modifié le script / programme awk en #50 pour qu'il traite tous les cas évoqués jusque-là :

  • les notes de la forme c,v. (dans ton message #1) ;

  • les notes de la forme c,v (dans ton message #23) ;

  • les notes de la forme c,v-c,v. ou v-c,v ou v-v. ou v. (dans ton message #41-43).

Cela avec des espaces qui peuvent se glisser un peu partout entre les numéros de chapitres, versets, et les virgules et les points, comme j'ai pu voir ici ou là.
J'ai testé ce programme sur les cas de test #23 et #41-43 sans constater de régression par rapport aux solutions lentes proposées en #32, #48 et suivantes.
Il remplace donc (avantageusement) tout ce que j'ai proposé jusque-là, y compris le script en #32.

Dernière modification par kamaris (Le 13/12/2019, à 00:40)

Hors ligne

#58 Le 13/12/2019, à 03:04

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

elles peuvent seulement être de la forme \va* ou \vp*

Les lettres possibles sont x c v q
Je vais tester tout ça.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#59 Le 13/12/2019, à 03:28

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Ouais mais là du coup j'ai l'impression qu'on par sur quelque chose de bien différent, parce que ça correspond à quoi des balise \xa*, ou \qp*, etc. ?
Et puis aussi je vois dans ton exemple en #55 qu'il y a un

\ca D\ca*

C'est un chapitre ça ? Qui n'aurait plus un numéro mais une lettre ? Parce que ça aussi ça change la donne.
Il faudrait que tu donnes un exemple plus complet pour tout ça stp, du genre de la genèse en #41-43, avec les notes et tout, parce que là c'est trop juste pour programmer.

Hors ligne

#60 Le 15/12/2019, à 16:23

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Salut,
Je viens de faire mon premier test sur le portugais, ça m'a l'air vraiment puissant comme script!. J'ai seulement cette erreur:

Une erreur de format de note a été rencontrée dans le fichier 21_notes.txt

Mais j'imagine que c'est ce qu'il dit lorsqu'il y a une note qu'il ne peut pas bien gérer. J'attends maintenant les dernières corrections du texte source et je me mettrais au boulot, merci beaucoup pour ton aide.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#61 Le 15/12/2019, à 17:17

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

En fait c'est ce que dit le script quand il ne trouve pas de note en début de fichier de notes.
Peut-être en a-t-il trouvé après, peut-être pas.
Mais à partir du moment où il en trouve une, les lignes qui suivent sont soit considérées comme la suite de la note courante, soit comme une nouvelle note si le format indicateur est à nouveau rencontré en début de ligne.
J'ai relâché autant que possible la contrainte au niveau de ce format, pour englober divers cas et être robuste face aux erreurs, mais il y a évidemment des limites.

Hors ligne

#62 Le 15/12/2019, à 17:17

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Hello,
Je viens de trouver encore une variable que j'avais oublié dans le kikongo et le portugais. Il s'agit de la balise \qt* qui se trouve dans certains fichiers. Si jamais tu réécris le script pour le kikongo fait le moi savoir.
Edit: Message croisés...

J'ai relâché autant que possible la contrainte au niveau de ce format, pour englober divers cas

Ok c'est parfait comme ça.

Dernière modification par L'Africain (Le 15/12/2019, à 17:18)


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#63 Le 15/12/2019, à 17:23

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Comme expliqué en #57, le cas du kikongo est maintenant traité aussi par le script donné en #50.
Mais si tu veux que je modifie quelque chose, il me faut des fichiers source, complets de préférence.

Hors ligne

#64 Le 15/12/2019, à 21:42

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

J'avais zappé ton post #59. Désolé je répond maintenant.
Pour les balises je peux simplement les résumer comme suit, en espérant que je n'aurais rien oublié:
\qt* \x* \ca* ou \cp* \va* \vp* \it \add* \nd* \fig*. A priori les plus importante y sont. Donc en dehors de celles-ci les autres asterisques seraient des notes.
Pour le cas du \ca D\ca* il y a des cas où le chapitre est une lettre mais c'est une exception qui n'a pas d'impact sur le notes car elles sont toujours liées au chiffre.
Pour le Kikongo, donc si j'ai bien compris le dernier script est devenu "universel"! Super ça.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#65 Le 15/12/2019, à 22:59

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Bah désolé, mais je ne peux pas travailler à partir de ça : je ne sais pas faire comme Joseph avec les rêves de Pharaon smile
Je ne sais pas deviner la signification de \qt* \x* \ca* ou \cp* \va* \vp* \it \add* \nd* \fig*.
Je ne sais pas deviner le lien qu'entretient une telle structure de corps de texte avec des notes dont je n'ai jamais vu le moindre exemple.
Bref, pas de fichier source, pas de programme !

Hors ligne

#66 Le 16/12/2019, à 02:36

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Ok je vais essayer de détailler, c'est pas si simple de te donner un exemple car c'est dispersé dans une multitude de fichiers et moi même je ne sais pas toujours où exactement. Par contre pour les notes tu as tout dans le #41.
Donc pour les balises dont je t'ai donné l'exemple, elles fonctionne toutes de la même manière, une balises avec un * c'est une balise de fermeture:

\qt Blabla blabla...\qt* texte texte \x 1,23\x* blabla blabla...

Tu peux trouver tout les codes usfm ici. En fait les balises avec des * sont contenues dans le texte.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#67 Le 16/12/2019, à 15:55

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

L'Africain a écrit :

En fait les balises avec des * sont contenues dans le texte.

En voilà une information capitale !
Donc en fait, on s'en fout à peu près big_smile
Au sens où ça ne change pas la structure \c,\v du corps de texte, et donc pas non plus la numérotation des notes, y compris pour la balise \ca, ce qui n'était pas évident dans ton exemple en #55, mais apparait mieux dans la doc ici : https://ubsicap.github.io/usfm/chapters … html#ca-ca (on voit dans cet exemple que la balise \ca est précédée par une balise \c, et qu'elle ne la remplace donc pas).

Je te laisse fouiller la doc et tes fichiers source pour savoir si tu as oublié des balises étoilées ou non (chacun son boulot wink).
Pour ce faire, je pense que la page d'index peut aider plus que d'autres : https://ubsicap.github.io/usfm/genindex.html
Quant à moi, j'ai modifié le script en #50 en me basant sur la liste de balises que tu as établie en #64 : il n'y aura plus de notes insérées à ces endroits.

Hors ligne

#68 Le 19/12/2019, à 19:01

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

J'ai apporté une petite modification au programme en #50, pour forcer la réinitialisation du tableau des notes entre deux fichiers, dans le cas de multiples fichiers en entrée.
Il pouvait y avoir des résultats étranges sans ça.
Il se peut que j'y apporte encore une modif de temps en temps à l'avenir, sans forcément le signaler par un nouveau message, donc en cas de problème pense bien à regarder si tu as la dernière version du script en regardant la date de dernière modification du message #50.

Hors ligne

#69 Le 19/12/2019, à 19:03

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Ok merci.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#70 Le 27/12/2019, à 13:27

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Bonjour,
Je viens de me remettre à mes livres. J'ai constaté un petit problème avec le script. Dans le cas des balises \qt* elles sont supprimées avec tout le contenu de liste après que le script ai travaillé dessus.
Joyeuses fêtes de Noël!


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#71 Le 27/12/2019, à 17:54

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

À priori, je ne vois pas pourquoi le script traiterait les balise \qt* différemment des autres balises étoilées, car elles sont toutes regroupées dans

excluded_tags="\\\\(add|ca|cp|fig|it|nd|qt|va|vp|x)"

Il me faudrait un cas de test qui plante pour pouvoir en dire plus.

Hors ligne

#72 Le 27/12/2019, à 18:00

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Voici un exemple du résultat après traitement:

\v 16 Nki mutindu Tempelo ya Nzambi lenda kuvukana ti biteki? Mpamba ve, beto kele Tempelo ya Nzambi unkwa-luzingu, mutindu Nzambi yandi mosi tubaka\f + \fr \ft \f* nde: \qt Mono ta zinga na kati na bo ye mono ta tambula ti bo. Mono ta vanda Nzambi na bo ye bo ta vanda bantu na mono.\qt
\v 18 \qt Mono ta vanda tata sambu na beno ye beno ta vandila mono bana na mono ya babakala ti ya bankento; Mfumu Nzambi ya ngolo yonso me tuba yo\f + \fr \ft \f*.\qt

Le verset 7 a disparu, et les étoiles de fermeture des balises ont été supprimées.


Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#73 Le 27/12/2019, à 18:54

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

C'est surtout les fichiers d'entrée qu'il me faudrait…

Hors ligne

#74 Le 27/12/2019, à 23:51

L'Africain

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

Voilà le fichier d'entrée:

 \v 16 Nki mutindu Tempelo ya Nzambi lenda kuvukana ti biteki? Mpamba ve, beto kele Tempelo ya Nzambi unkwa-luzingu, mutindu Nzambi yandi mosi tubaka* nde: \qt Mono ta zinga na kati na bo ye mono ta tambula ti bo. Mono ta vanda Nzambi na bo ye bo ta vanda bantu na mono.\qt*
\v 17 \qt Yo yina, mutindu Mfumu Nzambi ke tuba: Beno basika na kati ya bantu yina, beno kabana ti bo. Beno kusimba kima mosi ve, ya kukonda gedila, ibuna mono ta yamba beno.\qt*
\v 18 \qt Mono ta vanda tata sambu na beno ye beno ta vandila mono bana na mono ya babakala ti ya bankento; Mfumu Nzambi ya ngolo yonso me tuba yo*.\qt*

Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42

Hors ligne

#75 Le 28/12/2019, à 01:20

kamaris

Re : [ Résolu ] Fusionner fichier de note dans autre fichier texte

C'est corrigé en #50, sans régression sur les cas de test dont je dispose, et avec ça comme résultat pour les trois lignes ci-dessus :

\c 1
\v 16 Nki mutindu Tempelo ya Nzambi lenda kuvukana ti biteki? Mpamba ve, beto kele Tempelo ya Nzambi unkwa-luzingu, mutindu Nzambi yandi mosi tubaka\f + \fr 1,16 \ft note 16\f* nde: \qt Mono ta zinga na kati na bo ye mono ta tambula ti bo. Mono ta vanda Nzambi na bo ye bo ta vanda bantu na mono.\qt*
\v 17 \qt Yo yina, mutindu Mfumu Nzambi ke tuba: Beno basika na kati ya bantu yina, beno kabana ti bo. Beno kusimba kima mosi ve, ya kukonda gedila, ibuna mono ta yamba beno.\qt*
\v 18 \qt Mono ta vanda tata sambu na beno ye beno ta vandila mono bana na mono ya babakala ti ya bankento; Mfumu Nzambi ya ngolo yonso me tuba yo\f + \fr 1,18 \ft note 18\f*.\qt*

Hors ligne