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

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [shell] Recherche dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell] Recherche dans un fichier

n°770297
dufflulu
Posté le 11-01-2006 à 10:55:50  profilanswer
 

Bonjour je voudrais savoir si quelqu un peut m aider pour un script qui récupère la fin d'un fichier à partir d'un caractère donné  
 
J'ai beau regarder je ne trouve que pour faire une recherche sur une chaine de caractère mais pour la ligne simplement cela ne récupère pas la fin du fichier pour le mettre dans un autre fichier
 
si vous avez des conseils ou idée a ce sujet merci

mood
Publicité
Posté le 11-01-2006 à 10:55:50  profilanswer
 

n°770331
durkheim
Posté le 11-01-2006 à 12:06:59  profilanswer
 

un conseil, pas forcément celui que tu attends: faire un petit exécutable en c, que tu appelle sde ton script shell?

n°770397
dufflulu
Posté le 11-01-2006 à 14:21:37  profilanswer
 

j ai fait quelques essais avec des scripts sh avec la commande tail :
 
tail -n numlinge fichier1 >> fichier2
 
mais le soucis c est que ce n est pas par rapport a un numero mais plus avec un critère si l un d entre vous a ne idée pour récupérer le numéro de ligne ? par rapport a une expression
 
grep -n exp fichier me renvoi  
numlign : exp
 
et je ne voudrai que le numligne  
 
:s

n°770402
dufflulu
Posté le 11-01-2006 à 14:54:15  profilanswer
 

grep -n 'exp' fichier1 |cut -d":" -f 1
Ceci ne me renvoi que le numéro de ligne mais comment puis je le mettre dans ma commande tail -n numligne fichier1 >> fichier2

n°770413
paco81
Posté le 11-01-2006 à 15:16:53  profilanswer
 

regarde peut être du côté de xargs...
sinon, en python :
 
#!/usr/bin/python
import sys
import string
file = sys.argv[1]
exp = sys.argv[2]
lines = open(file).readlines()
c = map(lambda x: string.find(x, exp)!=-1, lines)
for line in lines[c.index(True):]:
    print line[:-1]

n°770420
dufflulu
Posté le 11-01-2006 à 15:26:45  profilanswer
 

Merci  paco81 mais là le python :s  
 
je capte pas du tout jamais fait de celà
 
grep -n 'exp' fichier1 |cut -d":" -f 1  
tail -n numligne fichier1 >> fichier2
 
Je me demande si je peut faire passé des paramètres a cette commande tail -n numligne fichier1 >> fichier2  ?
 
style tail -n +$(nbligne) fichier1 >> fichier2
 
et que la commande grep -n 'exp' fichier1 |cut -d":" -f 1 soit mise dans le paramètre $(nbligne)
 
si l'un d entre vous à une idée sur la mise en oeuvre de cela :)
 
merci pour votre aide
 

n°770423
paco81
Posté le 11-01-2006 à 15:35:36  profilanswer
 

euh bin oui en fait, avec
tail -n `la_commande_qui_donne_le_numero_de_ligne` fichier1 >> fichier2
normalement ça marche...
 
sinon pour mon code, pas besoin de connaitre python !
tu mets mon code dans un fichier dernieres_lignes.py et tu lances
dernieres_lignes.py fichier expression >> fichier2
 
et voilà !

n°770431
dufflulu
Posté le 11-01-2006 à 15:47:52  profilanswer
 


tail -n +|grep -n 'exp' fichier1 |cut -d":" -f 1 fichier1 >> fichier2
tail: +: nombre invalide de lignes.
 
Voilà ce qu'il me raconte ...
 
ce n'est qu'une partie de mon script que je viens d'exposé et je voulais savoir si avec ton script en python je peu exécuter le reste de mon script qui est d 'envoyer un fichier par ftp avec commande ftp etc ...
 

n°770436
paco81
Posté le 11-01-2006 à 16:03:44  profilanswer
 

dufflulu a écrit :

tail -n +|grep -n 'exp' fichier1 |cut -d":" -f 1 fichier1 >> fichier2
tail: +: nombre invalide de lignes.
 
Voilà ce qu'il me raconte ...
 
ce n'est qu'une partie de mon script que je viens d'exposé et je voulais savoir si avec ton script en python je peu exécuter le reste de mon script qui est d 'envoyer un fichier par ftp avec commande ftp etc ...


 
il faut que tu mettes ton grep | ... entre `` (guillements penchés, je sais pas comment ça s'appelle ce caractère)
donc ça fait tail -n +`grep -n 'exp' fichier1 |cut -d":" -f 1` fichier1 >> fichier2
(pas vérifié)
 
sinon oui, tu peux exécuter mon script dans un autre. Comme en bash, tu le lances avec "./script.py arguments..." si tu as donné les droits d'exécution, soit avec "python script.py arguments"

n°770437
dufflulu
Posté le 11-01-2006 à 16:12:13  profilanswer
 

Merci beaucoup sa fonctionne ;) merci paco81


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [shell] Recherche dans un fichier

 

Sujets relatifs
Fichier IDEbackup incrémentale d'un serveur de fichier
NIS : temps de recherche par Broadcastcréer un fichier
[Red hat 9.0] Probleme de demarrage dans le fichier /etc/rc.d/rc.sysinFichier bizarre
Serveur de fichier partition ?Recherche driver pour carte wifi freebox (WPCB-115G) sous Linux IWHAX
[Sécurite] [Signature] Configuration d'apache 2 Fichier httpd.conf[shell] recherche de chaine de caracter dans un fichier.
Plus de sujets relatifs à : [shell] Recherche dans un fichier


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