Aide pour un script cash

Aide pour un script cash - Shell/Batch - Programmation

Marsh Posté le 09-01-2012 à 21:31:22    

Bonjour à tous,
 
Je fais appel à vous car j'aurais besoin d'aide concernant l'écriture d'un script afin de récolter des informations dans une base de données...
Je précise que je n'y connais pour l'instant rien en programmation (méchant  :kaola: ) et que donc s'il y a un niveau zéro, je suis pas loin. Le fait est que j'ai besoin de ces infos rapidement (dans le cadre d'un projet de recherche) et que quand j'aurais un peu plus de temps, je me mettrais à l'apprentissage des bases...
 
Concernant le problème donc, je peux actuellement récupérer une information sur une base de données, via la commande suivante :

Code :
  1. wget http://www.rcsb.org/pdb/files/XXXX.pdb?headerOnly=YES -O - -q |
  2. egrep 'R SYM  |RESOLUTION RANGE HIGH \(' | cut -d: -f 2  | tr -d '\n' |
  3. tr -s ' '; echo


 
"XXXX.pdb" étant un fichier déposé dans la banque, et comportant des lignes de texte correspondant à diverses informations (je vais donc, piocher une info dans ce fichier).
 
J'ai crée sur mon ordi, un fichier texte, listant un à un, un nouveau nom de fichier ("XXXX" ), dans lesquels je souhaite récupérer l'information.
 
En cherchant un peu sur internet, j'ai cru comprendre qu'il faut utiliser les commandes :

Code :
  1. fich="/Users/ofandeloule/Desktop/PDBanalyse/pdbidresol.txt"
  2. while read line
  3. do


qui permettent de lire une à une les lignes de mon fichier "pdbidresol.txt".
 
Pour compliquer un peu la tache, si le script pouvait m'inscrire le nom "XXXX" et la fameuse valeur obtenue, dans un nouveau fichier texte (output), ça serait génial.
 
En vous remerciant pour votre aide.
 

Reply

Marsh Posté le 09-01-2012 à 21:31:22   

Reply

Marsh Posté le 09-01-2012 à 23:04:06    

Bon,
 
J'ai à priori réussi à m'en sortir avec le script suivant :
 

Code :
  1. old_IFS=$IFS     # sauvegarde du séparateur de champ 
  2. IFS=$'\n'     # nouveau séparateur de champ, le caractère fin de ligne 
  3. for ligne in $(cat /Users/ofandeloule/Desktop/PDBanalyse/pdbidresol.txt) 
  4. do 
  5. wget http://www.rcsb.org/pdb/files/$lig [...] erOnly=YES -O - -q |
  6. egrep 'R SYM  |RESOLUTION RANGE HIGH \(' | cut -d: -f 2  | tr -d '\n' |
  7. tr -s ' '; echo 
  8. done 
  9. IFS=$old_IFS     # rétablissement du séparateur de champ par défaut


 

Reply

Marsh Posté le 10-01-2012 à 01:31:31    

salut,
 
C'est dommage, tu y étais presque

Code :
  1. fich="/Users/ofandeloule/Desktop/PDBanalyse/pdbidresol.txt"
  2. while read line
  3. do
  4.   wget -qO - "http://www.rcsb.org/pdb/files/${line}?headerOnly=YES" | egrep 'R SYM  |RESOLUTION RANGE HIGH \(' | cut -d: -f 2  | tr -d '\n' | tr -s ' '
  5.   echo  
  6. done < "$fich"


Citation :

quand j'aurais un peu plus de temps, je me mettrais à l'apprentissage des bases...

C'est promis ? :)


Message édité par Profil supprimé le 10-01-2012 à 01:34:27
Reply

Marsh Posté le 10-01-2012 à 08:32:46    

Promis, ce sont des trucs qui servent toujours ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed