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
>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.
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
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
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.fr • www.univ-gustave-eiffel.fr
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.
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
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.fr • www.univ-gustave-eiffel.fr