~bzg/emacsfr

7 5

Juste une extraction

Details
Message ID
<8eff0b14dffe2397c34093f55f6bd715@formats-ouverts.org>
DKIM signature
pass
Download raw message
Bonjour à vous !

Soit un gros fichier org.
Il contient beaucoup d'informations relevées au quotidien : TODO, notes, 
code, tableaux, etc.

Par endroit il y a des lignes de renseignements avec une suite de champs 
rudimentaires (ex : "%A Victor Hugo")
Je souhaite extraire toutes ces lignes dans un autre fichier.

Précision importante : j'ai foncé sur org-babel-tagle pour avoir cela, 
avec tangle !

Mais cela ne fonctionne pas : ce balisage n'est pas un langage connu de 
Babel ; or pas d'extraction sans définir le langage --- sauf erreur de 
ma part dans la lecture de la doc.

Mais surtout : je ne veux pas exécuter du code (il n'y en a pas !), je 
ne veux *que* l'extraction dans un autre fichier.

Précision : je peux placer tous ces blocs de lignes entre un #+BEGIN_SRC 
et un #+END_SRC, si besoin. Ou une autre balise.

Merci de votre lecture.
-- 
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org
Details
Message ID
<87v7yru7t2.fsf@inventati.org>
In-Reply-To
<8eff0b14dffe2397c34093f55f6bd715@formats-ouverts.org> (view parent)
DKIM signature
pass
Download raw message
>Thu 19 Sep 2024 at 14:40, Thierry Stoehr <thierry@formats-ouverts.org> wrote:

> Bonjour à vous !
>
> Soit un gros fichier org.
> Il contient beaucoup d'informations relevées au quotidien : TODO, notes, code, tableaux,
> etc.
>
> Par endroit il y a des lignes de renseignements avec une suite de champs rudimentaires (ex
> : "%A Victor Hugo")
> Je souhaite extraire toutes ces lignes dans un autre fichier.

M-x helm-swoop -> filtre souhaité
M-a (select all)
C-c C-i (insert selection in current buffer)

C’est ça ?

C.
Details
Message ID
<87zfo3ls91.fsf@veniro.fr>
In-Reply-To
<8eff0b14dffe2397c34093f55f6bd715@formats-ouverts.org> (view parent)
DKIM signature
pass
Download raw message
Salut Thierry,

extraire avec org-occur puis copier coller dans un nouveau fichier 
?

Thierry Stoehr <thierry@formats-ouverts.org> writes:

> Bonjour à vous !
>
> Soit un gros fichier org.
> Il contient beaucoup d'informations relevées au quotidien : 
> TODO, notes, code, tableaux, etc.
>
> Par endroit il y a des lignes de renseignements avec une suite 
> de champs rudimentaires (ex : "%A
> Victor Hugo")
> Je souhaite extraire toutes ces lignes dans un autre fichier.
>
> Précision importante : j'ai foncé sur org-babel-tagle pour avoir 
> cela, avec tangle !
>
> Mais cela ne fonctionne pas : ce balisage n'est pas un langage 
> connu de Babel ; or pas d'extraction
> sans définir le langage --- sauf erreur de ma part dans la 
> lecture de la doc.
>
> Mais surtout : je ne veux pas exécuter du code (il n'y en a pas 
> !), je ne veux *que* l'extraction
> dans un autre fichier.
>
> Précision : je peux placer tous ces blocs de lignes entre un 
> #+BEGIN_SRC et un #+END_SRC, si besoin.
> Ou une autre balise.
>
> Merci de votre lecture.


--
Obrow
Emacs 28.1
Details
Message ID
<20b5dd28e84002188f4742cf4f2133e6@formats-ouverts.org>
In-Reply-To
<87v7yru7t2.fsf@inventati.org> (view parent)
DKIM signature
pass
Download raw message
reBonjour à vous !

Le 2024-09-19 14:50, Cayetano Santos a écrit :
>> Thu 19 Sep 2024 at 14:40, Thierry Stoehr <thierry@formats-ouverts.org> 
>> wrote:
> 
>> Bonjour à vous !
>> 
>> Soit un gros fichier org.
>> Il contient beaucoup d'informations relevées au quotidien : TODO, 
>> notes, code, tableaux,
>> etc.
>> 
>> Par endroit il y a des lignes de renseignements avec une suite de 
>> champs rudimentaires (ex
>> : "%A Victor Hugo")
>> Je souhaite extraire toutes ces lignes dans un autre fichier.
> 
> M-x helm-swoop -> filtre souhaité
> M-a (select all)
> C-c C-i (insert selection in current buffer)
> 
> C’est ça ?

Sans doute avec Helm... que je n'ai pas.
Et je veux/voudrais rester le plus « dans Emacs de base sans trop 
d'ajout de paquetages... sauf des ajouts de réglages dans mon .emacs » 
:-)

NB : oui, cela enlève des possibilités, mais portabilité en restant dans 
un Emacs de base (ou presque).
Et vaste débat et pas de troll :-)

-- 
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org
PERROTON, Laurent <laurent.perroton@esiee.fr>
Details
Message ID
<CADSHUz6N9T7YYgOh+RSwmGxuQv4CVuRiAjEFNLZrM4jOa+0GKA@mail.gmail.com>
In-Reply-To
<20b5dd28e84002188f4742cf4f2133e6@formats-ouverts.org> (view parent)
DKIM signature
pass
Download raw message
bash$ grep '^%.*' input.org > output

ne fait pas l'affaire ?

L.


Le jeu. 19 sept. 2024 à 15:01, Thierry Stoehr
<thierry@formats-ouverts.org> a écrit :
>
> reBonjour à vous !
>
> Le 2024-09-19 14:50, Cayetano Santos a écrit :
> >> Thu 19 Sep 2024 at 14:40, Thierry Stoehr <thierry@formats-ouverts.org>
> >> wrote:
> >
> >> Bonjour à vous !
> >>
> >> Soit un gros fichier org.
> >> Il contient beaucoup d'informations relevées au quotidien : TODO,
> >> notes, code, tableaux,
> >> etc.
> >>
> >> Par endroit il y a des lignes de renseignements avec une suite de
> >> champs rudimentaires (ex
> >> : "%A Victor Hugo")
> >> Je souhaite extraire toutes ces lignes dans un autre fichier.
> >
> > M-x helm-swoop -> filtre souhaité
> > M-a (select all)
> > C-c C-i (insert selection in current buffer)
> >
> > C’est ça ?
>
> Sans doute avec Helm... que je n'ai pas.
> Et je veux/voudrais rester le plus « dans Emacs de base sans trop
> d'ajout de paquetages... sauf des ajouts de réglages dans mon .emacs »
> :-)
>
> NB : oui, cela enlève des possibilités, mais portabilité en restant dans
> un Emacs de base (ou presque).
> Et vaste débat et pas de troll :-)
>
> --
> Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org



-- 
Laurent PERROTON
Directeur des études adjoint, en charge de l'apprentissage
Resp. Filière Réseaux et Sécurité
Resp. adjoint département IT
DPT-IT
Tél. : +33 (0)1 45 92 67 14
Bureau 5254
2 boulevard Blaise Pascal - BP 99
93162 Noisy-le-Grand CEDEX • FRANCE
www.esiee.frwww.univ-gustave-eiffel.fr
Details
Message ID
<a51bc50a5907b2c9e227077d6db1cc94@formats-ouverts.org>
In-Reply-To
<87zfo3ls91.fsf@veniro.fr> (view parent)
DKIM signature
pass
Download raw message
Rebonjour à vous !

Le 2024-09-19 14:53, Obrow a écrit :
> Salut Thierry,
> extraire avec org-occur puis copier coller dans un nouveau fichier ?

Sans doute, je le connais et je vais me pencher sur l'expression 
régulière qui extrait cela.

Mais j'ai été emballé par le tangle... et son extraction toute simple.

PS : on a parlé occur (et multi-occur) et tangle (avec code exéciuté) au 
dernier Atelier de septembre.
-- 
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org

> Thierry Stoehr <thierry@formats-ouverts.org> writes:
> 
>> Bonjour à vous !
>> 
>> Soit un gros fichier org.
>> Il contient beaucoup d'informations relevées au quotidien : TODO, 
>> notes, code, tableaux, etc.
>> 
>> Par endroit il y a des lignes de renseignements avec une suite de 
>> champs rudimentaires (ex : "%A
>> Victor Hugo")
>> Je souhaite extraire toutes ces lignes dans un autre fichier.
>> 
>> Précision importante : j'ai foncé sur org-babel-tagle pour avoir cela, 
>> avec tangle !
>> 
>> Mais cela ne fonctionne pas : ce balisage n'est pas un langage connu 
>> de Babel ; or pas d'extraction
>> sans définir le langage --- sauf erreur de ma part dans la lecture de 
>> la doc.
>> 
>> Mais surtout : je ne veux pas exécuter du code (il n'y en a pas !), je 
>> ne veux *que* l'extraction
>> dans un autre fichier.
>> 
>> Précision : je peux placer tous ces blocs de lignes entre un 
>> #+BEGIN_SRC et un #+END_SRC, si besoin.
>> Ou une autre balise.
>> 
>> Merci de votre lecture.
Details
Message ID
<e35e03a21046e4819ab8e568c51b1bb6@formats-ouverts.org>
In-Reply-To
<CADSHUz6N9T7YYgOh+RSwmGxuQv4CVuRiAjEFNLZrM4jOa+0GKA@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
Bonjour à vous !

Le 2024-09-19 15:09, PERROTON, Laurent a écrit :
> bash$ grep '^%.*' input.org > output
> ne fait pas l'affaire ?
> L.

Finalement, c'est quasiment la solution... et c'est le principe KISS et 
Unix !

Comme aucune ligne en orgmode ne commence par "%.espace" (. pour 
n'importe quel caractère), le grep extrait bien comme on veut.

On peut aussi le faire dans Emacs... avec occur cité précédemment.

Le seul tout petit manque avec ce grep/occu est qu'entre chaque 
enregistrement qui commence par %0, je mettrai dans ma commande un saut 
de ligne avant pour séparer visuellement... et aussi pour le traitement 
: refer demande une ligne vide pour séparer chaque enregistrement.

Donc point de tangle puissant, mais cela devrait fonctionner très bien 
ainsi.
Merci !
-- 
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org

> Le jeu. 19 sept. 2024 à 15:01, Thierry Stoehr
> <thierry@formats-ouverts.org> a écrit :
>> 
>> reBonjour à vous !
>> 
>> Le 2024-09-19 14:50, Cayetano Santos a écrit :
>> >> Thu 19 Sep 2024 at 14:40, Thierry Stoehr <thierry@formats-ouverts.org>
>> >> wrote:
>> >
>> >> Bonjour à vous !
>> >>
>> >> Soit un gros fichier org.
>> >> Il contient beaucoup d'informations relevées au quotidien : TODO,
>> >> notes, code, tableaux,
>> >> etc.
>> >>
>> >> Par endroit il y a des lignes de renseignements avec une suite de
>> >> champs rudimentaires (ex
>> >> : "%A Victor Hugo")
>> >> Je souhaite extraire toutes ces lignes dans un autre fichier.
>> >
>> > M-x helm-swoop -> filtre souhaité
>> > M-a (select all)
>> > C-c C-i (insert selection in current buffer)
>> >
>> > C’est ça ?
>> 
>> Sans doute avec Helm... que je n'ai pas.
>> Et je veux/voudrais rester le plus « dans Emacs de base sans trop
>> d'ajout de paquetages... sauf des ajouts de réglages dans mon .emacs »
>> :-)
>> 
>> NB : oui, cela enlève des possibilités, mais portabilité en restant 
>> dans
>> un Emacs de base (ou presque).
>> Et vaste débat et pas de troll :-)
>> 
>> --
>> Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org
PERROTON, Laurent <laurent.perroton@esiee.fr>
Details
Message ID
<CADSHUz7fe9oo-gnj+kTn9j7pO01hEsP3uqDwwxWn=cvHWQdbcA@mail.gmail.com>
In-Reply-To
<e35e03a21046e4819ab8e568c51b1bb6@formats-ouverts.org> (view parent)
DKIM signature
pass
Download raw message
Bonjour,

J'avoue, j'ai triché, je n'ai pas utilisé emacs. Mais on peut faire
pareil dans emacs avec
M-| = execute la commande sur la région courante et place le résultat
dans *Shell command output* :

C-xh ; select all current buffer
M-| grep '^%' ; extract all lines starting by "%" in buffer *Shell
command output*

Exemples:

extraire d'un fichier Org tous les titre de niveau 1 (et que ceux là):

M-| grep '^*[^*]'

tous ceux de niveaux 2 (attention il y a un piège):

M-| grep '^*\*[^*]'

tous les titre Org, quel que soit le niveau, en statut TODO :

M-| grep '^\*\** TODO'

nb de lignes, mots, octets dans la région :

M-| wc

Le jeu. 19 sept. 2024 à 17:46, Thierry Stoehr
<thierry@formats-ouverts.org> a écrit :
>
> Le seul tout petit manque avec ce grep/occu est qu'entre chaque
> enregistrement qui commence par %0, je mettrai dans ma commande un saut
> de ligne avant pour séparer visuellement... et aussi pour le traitement
> : refer demande une ligne vide pour séparer chaque enregistrement.

Ha ben c'était pas dit au début !

M-| sed -n -e '/^%0/i\\' -e '/^%/p'

L.

>
>
> Donc point de tangle puissant, mais cela devrait fonctionner très bien
> ainsi.
> Merci !
> --
> Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org
>
> > Le jeu. 19 sept. 2024 à 15:01, Thierry Stoehr
> > <thierry@formats-ouverts.org> a écrit :
> >>
> >> reBonjour à vous !
> >>
> >> Le 2024-09-19 14:50, Cayetano Santos a écrit :
> >> >> Thu 19 Sep 2024 at 14:40, Thierry Stoehr <thierry@formats-ouverts.org>
> >> >> wrote:
> >> >
> >> >> Bonjour à vous !
> >> >>
> >> >> Soit un gros fichier org.
> >> >> Il contient beaucoup d'informations relevées au quotidien : TODO,
> >> >> notes, code, tableaux,
> >> >> etc.
> >> >>
> >> >> Par endroit il y a des lignes de renseignements avec une suite de
> >> >> champs rudimentaires (ex
> >> >> : "%A Victor Hugo")
> >> >> Je souhaite extraire toutes ces lignes dans un autre fichier.
> >> >
> >> > M-x helm-swoop -> filtre souhaité
> >> > M-a (select all)
> >> > C-c C-i (insert selection in current buffer)
> >> >
> >> > C’est ça ?
> >>
> >> Sans doute avec Helm... que je n'ai pas.
> >> Et je veux/voudrais rester le plus « dans Emacs de base sans trop
> >> d'ajout de paquetages... sauf des ajouts de réglages dans mon .emacs »
> >> :-)
> >>
> >> NB : oui, cela enlève des possibilités, mais portabilité en restant
> >> dans
> >> un Emacs de base (ou presque).
> >> Et vaste débat et pas de troll :-)
> >>
> >> --
> >> Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org



-- 
Laurent PERROTON
Directeur des études adjoint, en charge de l'apprentissage
Resp. Filière Réseaux et Sécurité
Resp. adjoint département IT
DPT-IT
Tél. : +33 (0)1 45 92 67 14
Bureau 5254
2 boulevard Blaise Pascal - BP 99
93162 Noisy-le-Grand CEDEX • FRANCE
www.esiee.frwww.univ-gustave-eiffel.fr
Reply to thread Export thread (mbox)