Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2277 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Lire un fichier text et extraire les caracteres 25 a 37 de chaque lign

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire un fichier text et extraire les caracteres 25 a 37 de chaque lign

n°2081977
Mat4189
Posté le 11-06-2011 à 16:03:46  profilanswer
 

Salut
 
Je suis en train de programmer un script shell. Voila plusieurs jours que j'essaye de trouver une commande pour lire les lignes du fichier archive.txt contenant la taille des fichiers d'une archive, extraire le 3eme champ de chaque ligne (pas de header dans le fichier), pour ensuite pouvoir utiliser la valeur extraite dans un test.  
 
Le but final etant de verifier que les fichiers archives ont la meme taille que les fichiers sur le disque.
 
archive.txt (contenant 4 lignes)
 
-rw-rw-r-- spomega2/da26 15689762292 2011-05-31 11:31:28 Fichier_1
-rw-rw-r-- spomega2/da26       31362 2011-05-31 11:31:28 Fichier_2
-rw-rw-r-- spomega2/da26 15689762292 2011-05-31 11:31:28 Fichier_3
-rw-rw-r-- spomega2/da26       31362 2011-05-31 11:31:28 P110_01_Fichier_4
 
J'ai essaye de le faire avec la commande cut
 
cut -f3 archive.txt
 
mais elle me restitue le fichier entier
 
cut -c25,36  archive.txt
me restitue maximum deux caracteres par ligne
 
Je vois bien que je pourrais le faire avec awk mais je ne vois pas quelle syntaxe adopter.
 
Merci de votre aide.
 
Mathieu

mood
Publicité
Posté le 11-06-2011 à 16:03:46  profilanswer
 

n°2081986
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 11-06-2011 à 18:41:22  profilanswer
 

T'as essayé cut avec des délimiteur ? Sinon t'y vas a la bourin et tu vire ce que tu veux pas avec un sed ^^

n°2082046
roondar
Posté le 12-06-2011 à 12:21:47  profilanswer
 

Ce serait pas plus simple de faire avec un md5sum ?
Sinon regarde cet exemple : http://www.commentcamarche.net/faq [...] ne#astuces

n°2082584
Nukolau
Posté le 15-06-2011 à 15:24:10  profilanswer
 

En gros tu veux sauvegarder des fichiers qui ont évolués avec le temps ?
Si oui, la commande rsync qui te permet de synchroniser 2 répertoires, y compris entre deux serveurs différents.
Ou bien le find qui te permet de trouver les fichiers qui ont été modifiés dans les x derniers jours.
 
Il existe sinon la commande md5sum comme mentionnée (ou cksum qui a l'avantage de te donner en plus la taille du fichier), qui donne une signature unique à un fichier. si une copie du fichier a une signature différente, c'est que les fichiers sont différents.
 
Une autre possibilité, c'est le awk, comme évoqué plus haut. Dans ton cas :
 
awk '{print $3}' archive.txt


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Lire un fichier text et extraire les caracteres 25 a 37 de chaque lign

 

Sujets relatifs
probelm de chargement de fichier dans plusieur textboxExtraction du contenu d'une TEXTAREA vers fichier texte
Extraire un mot d'une ligne suivant ce qui l'encadreScript recherche fichier photo
"Content-Disposition: attachment" d'un gros fichier[PHP] Trouver le fichier dernièrement modifié commençant par...
[svnkit] commiter un fichierComment creer un fichier de BDD ?
Requête d'export de données Mysql vers fichier CSVlecteur fichier text en php
Plus de sujets relatifs à : Lire un fichier text et extraire les caracteres 25 a 37 de chaque lign


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR