10.13 High Sierra Comment copier ou exporter les notes

Quand je retre la formule dans Terminal il me répond : iconv: cat.md: No such file or directory

réponse : -bash: cd: /Users/michelxxxxx/Desktop/cat.md: Not a directory

Note de la modération ( Jura 39)
J'ai remplacé votre nom de famille par des xxx pour des raison de confidentialité
;)
 
"cd <le chemin du dossier contenant le fichier cat.md>" <= donc ton Desktop

Cela sera suffisant:
Bloc de code:
cd Desktop
 
et voici la réponse : "
iMac-de-Michel:Bonjour michelberger$ cd Desktopiconv -f iso-8859-1 -t utf-8 cat.md > cat-utf8.md
-bash: cd: Desktopiconv: No such file or directory"

ou encore :
cd Desktop iconv -f iso-8859-1 -t utf-8 cat.md > cat-utf8.md
-bash: cd: Desktop: No such file or directory Comment avoir le format du fichier cat.md ?
 
On recommence, tu lances la commande suivante :
Bloc de code:
cd Desktop

Ensuite, tu fais la suivante :
Bloc de code:
iconv -f iso-8859-1 -t utf-8 cat.md > cat-utf8.md
 
Donc le format de fichier n'est pas correct. Comment le connaître ?
 
Quand j'utilise curl pour télécharger une page web, c'est du "iso-8859-1". Tu as sans doute la même chose et la deuxième commande va ta convertir le "iso-8859-1" en utf8
Si le fichier résultant n'est pas utilisable, il faudra savoir comment trouver le format. Des éditeurs de texte le permettent
 
je viens de relancer l' ensemble et , j'ai toujours sur cat-utf8.md :
# Mardi 17 décbre 2019

15h32 : jâai eu une petite nuit de sommeil, entre 4h et 4h1/2. Ãa a été un peu
 
C'est bizarre parce que quand j'exporte mes notes avec Exporter, elles sont bien en utf-8, et le fichier concaténé aussi. Un programme comme Smultron permet aisément de connaître le format d'encodage du texte, et de le changer. C'est dans le menu Texte>Encodage du texte (du moins sur la version 7 que j'utilise).
 
Après avoir trafiqué un peu de partout, je suis reparti sur la transformation d'un seul .md et voici l'image du réglage :

Capture d’écran 2020-07-18 à 23.45.33.webp

avec smultron12.1 il m'indique encodage "occidental mac os roman "
 
Dernière édition par un modérateur:
Pour le moment je transforme le .pdf en .docx, ce qui me permettra de faire quelques ajustements au niveau de la présentation.
Si je résume, tu as un fichier .md que tu déclares comme fichier .txt avant de le convertir en .pdf afin de le modifier en .docx ?

Sachant que Word ou OpenOffice ouvrent directement les .txt (que tu peux ensuite enregistrer en .docx), tu pourrais t'épargner l'étape du .pdf…
Ça ne résoudra peut-être pas tout mais ça épargnerait au moins une source de complications. ;)
 
Après avoir trafiqué un peu de partout, je suis reparti sur la transformation d'un seul .md et voici l'image du réglage :

Voir la pièce jointe 182987

avec smultron12.1 il m'indique encodage "occidental mac os roman "
Alors tu le changes, tu le passes en utf-8 et tu enregistres les modifications. Les caractères bizarres devraient disparaître immédiatement.
 
Bonjour sinbad21, sauf que lorsque je prends le cat.md complet je n'ai aucun choix d'enregistrement ni en exportation .pdf
ce qui fait que ne peut pas le passer en utf-8 pour l'enregistrer .
 
Bonjour sinbad21, sauf que lorsque je prends le cat.md complet je n'ai aucun choix d'enregistrement ni en exportation .pdf
ce qui fait que ne peut pas le passer en utf-8 pour l'enregistrer .
Bonjour,
Je ne comprends pas. Le fichier cat.md est un fichier texte normal, tu dois pouvoir l'ouvrir dans Smultron et changer l'encodage.
De toute façon le fichier cat.md devrait être en utf-8 dès le départ. J'ai fait la manip en exportant mes notes avec Exporter.app puis en concaténant les notes avec la commande cat, j'obtiens bien un fichier cat.md en utf-8.

Quelle version de Exporter.app utilises-tu ? La dernière version est la 2.1.4. Il faut utiliser la dernière version.

Reprenons la manip :

1) Exporter les notes avec Exporter.app version 2.1.4, on obtient x fichiers .md en utf-8, c'est vérifiable avec Smultron.
2) Concaténer les notes avec la commande cat citée plus haut, on obtient un fichier .md unique toujours en utf-8. Vérifiable là-aussi avec Smultron.

Refais le processus et dis-nous si à ce stade tu obtiens bien un fichier en utf-8. Ce que tu fais après pour le convertir en pdf ou en docx n'est pas clair pour moi, mais je pense que c'est à cette étape-là que tu perds l'encodage correct.
 
Bonsoir, un grand merci à sinbad21 et ecatomb pour votre aide de ce grand W-E. Grace à votre aide je viens de finaliser les 2 gros dossiers ( soit 1737 fichiers pour env. 16 <go). J'ai vraiment apprécié cette aide au fil de mes questions quand je butais sur quelque chose que je ne connaissais pas. J'ai profité pour apprendre beaucoup de choses grâce à vous. Encore merci.
Sujet terminé pour ma part. Have a good day. :coucou::zen:
 
Bonjour, je reviens sur le sujet car j'ai un problème dont je n'avais pas tenu compte, à savoir :
mes différents fichiers commence par un titre ou une date ! quand j'applique la formule : "find . -type f -name '*' -exec cat {} \; >../cat.md" celle-ci ne tient pas compte des titres ni même de l'ordre de départ et je me retrouve avec tous mes fichiers, mais mélangés ! Y aurait-il une solution à partir de la formule en ajoutant la prise en charge de la date de création ?
Dans l'attente de votre coup d'oeil éclairé.
 
Quelque chose de ce style te trierait les fichiers dans l'ordre alphabétique. À voir si on peu arriver à en tirer quelque chose d'utilisable pour toi. Je verrai ça ce soir
Bloc de code:
find . -type f -name '*' | sort -n
 
Dernière édition par un modérateur:
@ecatomb
Je crois qu'il veut que ce soit trié par date de création.

@mi@hel26
C'est compliqué parce que le programme Exporter.app crée un fichier par note en le nommant à partir du titre de la note, mais le titre n'est pas exporté dans le contenu de la note, seulement dans le nom du fichier.

Tout dépend donc de comment tu structures tes notes. Si tu répètes le contenu du titre dans chaque note ça va, sinon le titre est perdu.

Pour trier sur la date essaie ce script Perl. Ce sera trié en ordre de date croissante, si tu veux l'inverse, enlève le mot reverse avant le sort dans le script. Tu copies tout ça dans un fichier texte que tu places sur le bureau et que tu renommes en sort.command par exemple. Puis dans Terminal tu tapes chmod +x suivi d'un blanc et tu glisses le fichier sort.command dans la fenêtre de Terminal (pour le rendre exécutable).

Pour que le script marche il faut que le dossier Notes créé par Exporter.app soit sur le bureau.

Voici le script :
Bloc de code:
#!/usr/bin/perl
use strict;
use warnings;

# Ton répertoire
my $repertoire = 'Notes';

# Ton motif
my $motif = '*.md';

# Ton motif
my $fichier_concat = 'FINAL.txt';

opendir my $fh_rep, $repertoire or die "Impossible de lire le repertoire $repertoire ";
my @fichier_repertoires;
foreach my $fichier ( grep { !/^\.\.?$/ and /^$motif/i } readdir $fh_rep ) {
  next unless -f "$repertoire/$fichier";
  push @fichier_repertoires, "$repertoire/$fichier";
}
closedir $fh_rep;

open my $fh, '>>', $fichier_concat or die "Impossible d'ecrire dans $fichier_concat\n";
foreach my $fichier ( reverse sort { -M $a <=> -M $b } @fichier_repertoires ) {
  print "$fichier\n";
  open FILE, '<', $fichier or die "Impossible de lire $fichier\n";
  while (<FILE>) { print {$fh} $_; }
  close FILE;
}
close $fh;


Pour exécuter le script :
Bloc de code:
cd ~/Desktop/ ; ./sort.command
Ça va te créer un fichier FINAL.txt sur le bureau.
 
@ecatomb
Je crois qu'il veut que ce soit trié par date de création.
Exact, mais je regarderai ça tranquillement ce soir. C’est facile de trier les fichier dans l’ordre alphabétique ou de date. Mais combiner cela avec la concaténation demande quelque recherche/test pour arriver au bon résultat : impossible de proposer quelque chose de valide de tête
 
Au lieu de
Bloc de code:
find . -type f -name '*' -exec cat {} \; >../cat.md

Tu peux tester ceci :
Bloc de code:
cat $(ls -tr *.md) >../cat.md

Par contre, cela ne marchera pas si des fichiers ont des espaces ou sans doute aussi des caractères spéciaux dans le nom.
Le contenu des plus anciens fichiers sera au début du fichier "cat.md", et les plus récent à la fin
 
Celui-ci marchera normalement sans problème avec le nom des fichiers
Bloc de code:
ls -tr *.md > ../liste.txt
while read line; do cat "$line"; done < ../liste.txt > ../cat.md

Par contre, il ne prend en compte que les fichiers dans le répertoire courant et pas les sous-répertoires...
 
  • J’aime
Réactions: sinbad21