A voir également:
- Tri par date et heure d'un fichier texte
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier dat - Guide
- Ouvrir un fichier .bin - Guide
6 réponses
Utilisateur anonyme
Modifié par qqchquicommenceparQ le 11/01/2013 à 09:03
Modifié par qqchquicommenceparQ le 11/01/2013 à 09:03
salut,
Comment est rempli le fichier files_to_transfer?
Tu ne peux pas utiliser 'ls' ? Il a des options pour trier.
Pourquoi faire un tri? Ce sont tous des fichiers à déplacer.
Comment est rempli le fichier files_to_transfer?
Tu ne peux pas utiliser 'ls' ? Il a des options pour trier.
Pourquoi faire un tri? Ce sont tous des fichiers à déplacer.
Hello,
Le fichier est rempli comme ceci :
ftp -nv $SOURCE <<! > files_to_tranfer
user $USER $PASSWD
cd T_KMI
ls -lrt
!
(ce n'est pas mon script, je dois modifier celui de quelqu'un d'autre)
Malheureusement, le serveur ftp en question trie sur les noms de fichiers quelles que soient les options que j'ajoute à ls... Du coup, le fichier que je reçois contient la liste des fichiers présents comme mis dans l'exemple mais ils sont triés par nom et pas par date ...
Le fichier est rempli comme ceci :
ftp -nv $SOURCE <<! > files_to_tranfer
user $USER $PASSWD
cd T_KMI
ls -lrt
!
(ce n'est pas mon script, je dois modifier celui de quelqu'un d'autre)
Malheureusement, le serveur ftp en question trie sur les noms de fichiers quelles que soient les options que j'ajoute à ls... Du coup, le fichier que je reçois contient la liste des fichiers présents comme mis dans l'exemple mais ils sont triés par nom et pas par date ...
Pierre8888
Messages postés
1053
Date d'inscription
mercredi 17 octobre 2012
Statut
Membre
Dernière intervention
17 mai 2015
165
11 janv. 2013 à 09:19
11 janv. 2013 à 09:19
Bonjour je suppose que tu a Ubuntu ? il existe plusieurs façon de trier par date et heure d'un fichier texte dans ton /home/ dossier personnel "guide du bureau Ubuntu fichiers " Tri des fichiers et des dossiers http://guide.ubuntu-fr.org/desktop/files-sort.html et là "Dossier magique : tri automatique de fichiers" http://doc.ubuntu-fr.org/dossier_magique
Je vais regarder ça, merci! Mais l'ennui c'est que les commandes que je peux passer sur ce ftp sont extrêmement limitées vu que c'est celui d'une société qui nous fournit ces données. Tout ce que je peux faire dessus c'est du download.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
11 janv. 2013 à 09:27
11 janv. 2013 à 09:27
Salut,
Essaye avec ça :
Essaye avec ça :
$ cat fic 12-21-12 05:05PM 327257 fichier1.txt 12-11-12 11:08AM 266839 fichier2.txt 12-20-12 06:28AM 231545 fichier3.txt 12-20-12 08:07PM 348379 fichier4.txt 12-19-12 01:29AM 194062 fichier5.txt 12-19-12 09:59AM 262867 fichier6.txt 12-19-12 05:48PM 319165 fichier7.txt 12-18-12 04:31AM 216311 fichier8.txt $ awk -F - '{print $2"/"$1"/"$3}' fic | sort -k1nr -k2.6r,2n 21/12/12 05:05PM 327257 fichier1.txt 20/12/12 06:28AM 231545 fichier3.txt 20/12/12 08:07PM 348379 fichier4.txt 19/12/12 01:29AM 194062 fichier5.txt 19/12/12 09:59AM 262867 fichier6.txt 19/12/12 05:48PM 319165 fichier7.txt 18/12/12 04:31AM 216311 fichier8.txt 11/12/12 11:08AM 266839 fichier2.txt $
Merci à tous! J'ai finalement trouvé. Je partage ma solution ici au cas où ça pourrait aider quelqu'un dans le futur:
awk -F " " '{print $1"/"$2"/"$3"/"$4}' files_to_transfer > step1.txt
awk -F - '{print $2"/"$1"/"$3}' step1.txt > step2.txt
awk -F : 'BEGIN{FS=":"}
substr($2,3,2) == "PM" {print substr($1,1,9) substr($1,10,2)+12 "/"substr($2,1,2)"/"substr($2,3,2)"/"substr($2,6,56)}
substr($2,3,2) == "AM" {print $1"/"substr($2,1,2)"/"substr($2,3,2)"/"substr($2,6,56)}
END {print"fini"}' step2.txt > step3.txt
sort -n -r -t / -k 3 -k 2 -k 1 -k 4 -k 5 step3.txt > step4.txt
awk -F "/" '{print $1"/"$2"/"$3" "$4":"$5$6" "$7 " "$8}' step4.txt > step5.txt
cp step5.txt files_to_transfer
Il y a surement plus simple et plus propre mais ça fonctionne!
awk -F " " '{print $1"/"$2"/"$3"/"$4}' files_to_transfer > step1.txt
awk -F - '{print $2"/"$1"/"$3}' step1.txt > step2.txt
awk -F : 'BEGIN{FS=":"}
substr($2,3,2) == "PM" {print substr($1,1,9) substr($1,10,2)+12 "/"substr($2,1,2)"/"substr($2,3,2)"/"substr($2,6,56)}
substr($2,3,2) == "AM" {print $1"/"substr($2,1,2)"/"substr($2,3,2)"/"substr($2,6,56)}
END {print"fini"}' step2.txt > step3.txt
sort -n -r -t / -k 3 -k 2 -k 1 -k 4 -k 5 step3.txt > step4.txt
awk -F "/" '{print $1"/"$2"/"$3" "$4":"$5$6" "$7 " "$8}' step4.txt > step5.txt
cp step5.txt files_to_transfer
Il y a surement plus simple et plus propre mais ça fonctionne!