1 votes

Coller chronologiquement des fichiers rtf via bash script.

J'aime apprendre et créer des petits scripts pour bash, et maintenant j'ai enfin le premier problème "sérieux" que je voudrais résoudre à travers un scripts.

Voici la situation : J'ai un dossier contenant 45 fichiers rtf. Je veux faire précéder chacun d'eux du nom du fichier (et de sa date de création) et ensuite les coller tous ensemble dans un fichier rtf unique, en respectant l'ordre chronologique.

Comment puis-je le faire ? Pour l'instant j'ai créé le script suivant : pour chaque fichier rtf dans le dossier, il crée un nouveau fichier (.txt... c'est tellement difficile d'utiliser rtf avec bash !) et y écrit le nom et la date de création du fichier original.

for f in *.rtf; do 
touch $f"_info_file.txt"
echo "File name:" $f >> $f"_info_file.txt";
printf "Date: " >> $f"_info_file.txt";
stat -f "%SB" "$f" >>$f"_info_file.txt";
done

(Je suppose que c'est très approximatif...) Maintenant je voudrais les coller ensemble dans l'ordre chronologique mais je suis un peu perdu... Des idées ? Automator peut-il être utile ? Merci.

1voto

Romeo Points 93

Suivant la suggestion du mod, je poste ici ma solution au problème.

J'ai créé le script suivant pour bash :

for f in *.rtf; do
   olddate=$(stat -f %SB -t %Y%m%d%H%M "$f")
   touch -mt $olddate "$f""_info_file.txt"
  echo "File name:" "$f" >> "$f""_info_file.txt";
  printf "Date: " >> "$f""_info_file.txt";
  stat -f "%SB" "$f" >>"$f""_info_file.txt";
done

Je l'ai lancé dans le bash et pour chaque fichier RTF que j'avais dans le dossier, un nouveau fichier .txt associé à celui-ci a été créé. Ce fichier .txt contenait des métadonnées utiles (pour moi) du fichier lui-même. Remarquez que, grâce au script ci-dessus, les nouveaux fichiers txt ont été créés de telle manière que leur date de création coïncide avec les fichiers auxquels ils font référence.

Exemple : J'avais fichier01.rtf dans le dossier. Après l'exécution du script, dans le dossier je trouvais un fichier nommé file01_info_file.txt dont le contenu était

Name file: file01.rtf 
Date: 20.12.2018 18.53 

La date de création du fichier file01_info_file.txt est identique à la date de création de file01.rtf.

Maintenant, la conclusion s'impose facilement : ouvrez le Finder, triez par date de création les fichiers du dossier, sélectionnez-les tous et faites-les glisser dans un nouveau ... ... document Microsoft Word (:-D). document Microsoft Word (:-D). Le formatage de rtf a été conservé ainsi que l'ordre chronologique.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X