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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [KSH-AIX] Script pour utiliser un mot dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[KSH-AIX] Script pour utiliser un mot dans un fichier

n°755246
heaven35
Posté le 23-11-2005 à 12:46:06  profilanswer
 

Bonjour,
 
Je travaille sous AIX.
Je cherche à écrire un script qui pourrait lire le contenu d'un fichier, y trouver un mot spécifique ( ex : toto ) et utiliser ce mot comme variable pour le passer dans une commande.
Je ne suis pas programmeur mais malgrés mes recherches je n'y arrive pas... :(  
 
Quelqu'un pourrait-il m'aider???
 
Merci

mood
Publicité
Posté le 23-11-2005 à 12:46:06  profilanswer
 

n°755249
minusplus
Posté le 23-11-2005 à 12:49:02  profilanswer
 

qu'est-ce que tu entends par "y trouver" ?

n°755252
heaven35
Posté le 23-11-2005 à 12:54:32  profilanswer
 

par exemple si mon fichier contient un ligne avec :  
titi_1 toto_2 tata_3 tutu_4
il faudrait trouver dans ce fichier le mot commençant par totoX et utiliser ce résultat comme variable pour le passer en commande

n°755260
minusplus
Posté le 23-11-2005 à 13:01:51  profilanswer
 

heu je suis pas sûr d'avoir bien compris mais disons que pour extraire toto_1 de la ligne dans le fichier 'file' ci-dessus il faudrait faire un  
 
MOT = $(perl -wp ' /toto_\S+/ and $_=$1' file)

n°755268
heaven35
Posté le 23-11-2005 à 13:27:30  profilanswer
 

c'est du PERL ou du KSH???

n°755272
minusplus
Posté le 23-11-2005 à 13:29:44  profilanswer
 

c'est du perl dans du KSH... :D

n°755297
heaven35
Posté le 23-11-2005 à 14:37:12  profilanswer
 

ça ne marche pas.....
 
il me dit :  
 
Can't open perl script "/toto_\S+/ and $_=$1": Un fichier ou un répertoire du chemin d'accès n'existe pas.
test.sh: MOT:  introuvable.

n°755343
minusplus
Posté le 23-11-2005 à 16:02:55  profilanswer
 

désolé :  
 
MOT=$(perl -w -p -e '/(toto_\S+)/ and $_=$1;' file)

n°755373
heaven35
Posté le 23-11-2005 à 17:39:49  profilanswer
 

Ok ça marche
C'est cool
minusplus t'es trop fort

n°755376
minusplus
Posté le 23-11-2005 à 17:45:27  profilanswer
 

:sol:

mood
Publicité
Posté le 23-11-2005 à 17:45:27  profilanswer
 

n°755380
heaven35
Posté le 23-11-2005 à 17:52:56  profilanswer
 

ça marche mais j'ai pas envie de finir idiot lol ;o)
tu peux m'expliquer car je ne comprends pas ta ligne.... lol
c'est con de lancer des trucs sans comprendre ce qui est ecrit

n°755384
minusplus
Posté le 23-11-2005 à 17:59:42  profilanswer
 

bon la partie 'MOT=' me semble évidente...  
 
le role de $(...) est de renvoyer tout ce que vont afficher les commandes entre parenthèses
 
la commande entre parenthèse est l'exécution de perl en mode warning (-w), en bouclant sur toutes les lignes du fichier et en affichant le résultat du script (-p), en utilisant le script fournit dans la commande (-e) et en l'appliquant au fichier 'file'. Le script perl c'est ce qui est entre les ''.  
 
Entre les des / on a une recherche d'expression régulière (man perlre) : on cherche un mot contenant 'toto_' suivit de n'importe quel caractère qui ne soit pas un blanc (\S) et en nombre quelconque (+). On met tout ça dans des parenthèses pour enregistrer le résultat dans la variable $1. Si la recherche aboutit (and) on stocke ce qu'on a trouvé ($1) dans la variable spéciale $_. C'est elle qui sera automatiquement imprimée par perl à la fin du script.  
 
voilà.

n°755388
heaven35
Posté le 23-11-2005 à 18:05:56  profilanswer
 

Vu comme cela, ça parait évident lol ;o)
En tout cas merci


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

  [KSH-AIX] Script pour utiliser un mot dans un fichier

 

Sujets relatifs
peut on utiliser une redhat entreprise v3 gratuitement ?script pour changement de couleur
[Résolu] [script shell AIX][KSH] Gargl, je sais plus ! Convertir une chaîne en entier et autre op
Utiliser le SPV C600 en modem sous LinuxUtiliser le signal "Wait-For-Vsync"
Récupérer un fichier par connexion sshdebian 64 => utiliser des logiciels 32bit
[mozzila] fichier temporaire 
Plus de sujets relatifs à : [KSH-AIX] Script pour utiliser un mot dans un fichier


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