Incollare cronologicamente i file rtf tramite script bash

1

Mi piace imparare e creare piccoli script per bash, e ora ho finalmente il primo problema "serio" che vorrei risolvere attraverso uno script.

Ecco la situazione: ho una cartella contenente 45 file rtf. Voglio anteporre a ciascuno di essi il nome del file (e la sua data di creazione) e incollarli tutti insieme in un unico file rtf, rispettando l'ordine cronologico.

Come posso farlo? Per il momento ho creato il seguente script: per ogni file rtf nella cartella, crea un nuovo file (.txt ... è così difficile usare rtf con bash!) E scrive in esso il nome e la data di creazione del file originale.

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

(Immagino sia molto approssimativo ...) Ora vorrei incollarli insieme in ordine cronologico ma sono un po 'perso ... Qualche idea? Automator può essere utile? Grazie.

    
posta Romeo 11.12.2018 - 23:33
fonte

1 risposta

1

Seguendo il suggerimento di mod, inserisco qui la mia soluzione al problema.

Ho creato il seguente script per 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

L'ho eseguito nella bash e per ogni file RTF che avevo nella cartella è stato creato un nuovo file .txt associato. Questo file txt conteneva metadati utili (per me) del file stesso. Si noti che, grazie allo script di cui sopra, i nuovi file txt sono stati creati in modo tale che la data di creazione coincidesse con i file a cui si riferiscono.

Esempio: avevo file01.rtf nella cartella. Dopo lo script, nella cartella ho trovato un file denominato file01_info_file.txt il cui contenuto era

Name file: file01.rtf 
Date: 20.12.2018 18.53 

La data di creazione del file file01_info_file.txt è identica alla data di creazione di file01.rtf.

Ora la conclusione è facile: apri Finder, ordina per data di creazione i file nella cartella, selezionali tutti e trascinali in un nuovo ... ... documento Microsoft Word (:-D). La formattazione di rtf è stata mantenuta e anche l'ordine cronologico.

    
risposta data 20.12.2018 - 18:56
fonte

Leggi altre domande sui tag