#26 Le 27/04/2012, à 16:20
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
re,
Bon, vite fait, entre 2 (c'est surement pas parfait, mais suis pas mal occupé)
En python par contre, en bash ca serait possible, mais bien plus galère à écrire.
#! /usr/bin/env python
# -*- coding:Utf8 -*-
import sys
with file(sys.argv[1] , 'r') as f:
out = f.read().replace('$Conf{','').replace('} =',' =') \
.replace('=>',':').replace(';','')
exec(out)
for path in RsyncShareName:
if path not in BackupFilesOnly:
print path
for path in BackupFilesOnly:
for spath in BackupFilesOnly[path]:
print path+spath~$ ./script.py '/home/pathVersFichierLog'
/tmp/MysqlHotCopy
/opt/test
/var/www/webdesk
/usr/local/webdesk
/usr/local/bin
/opt/test2
/etc/scripts
/etc/init.d/bot
/etc/init.d/ejabberd
/etc/init.d/relay
/etc/apache2/sites-available/webdeskSi il faut en bash, ben je verrais si je le temps plus tard... Mais y a bien qql'un qui va relever le challenge ![]()
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#27 Le 27/04/2012, à 16:27
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
Bien joué pour le code en Python!
T'es un monstre ^^ en effet c'est exactement ce que je recherche!
Après je peux toujours l'utiliser pour écrire dans un fichier et lire le fichier du coté du script bash... c'est une solution, mais c'est super moche :S
Mais où je définis le fichier à analyser? o_O (Désolé je pige que dalle en ces choses là ^^)
Merci de ton aide en tout cas ^^ Si quelqu'un sait chier un truc comme ça en Bash je suis preneur ![]()
Dernière modification par Mr.inco (Le 27/04/2012, à 16:37)
Vieux geek, en école d'info, spé systèmes et réseaux...
Hors ligne
#28 Le 27/04/2012, à 17:55
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
@AnsuzPeorth #26 :
J'avais bricolé un script en python qui marchait aussi, mais plutôt lourdingue à côté du tien. Chapeau pour l'idée de transformer le fichier de départ en définition de liste et de dictionnaire.
Hors ligne
#29 Le 27/04/2012, à 18:25
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
Re,
aller, encore vite fait, j'ai qqles minutes.
T'es un monstre ^^
Oulahhhh, loin, très loin de ça, je t'assure ![]()
Des gars comme pingouinux, qui touche en C/C++, bash, python, php, serveurs ... et je ne connais toutes ses compétences, à cotés, je suis un petit enfant ... (et sur ce forum, il y a qqles cadors dans le même gout)
Sinon, en bash, bon, c pas terrible, mais ca fait le taf, j'ai pas le temps de peaufiner
#!/bin/bash
file=$(< '/home/user/data.txt')
RsyncShareName=$(sed -n "/RsyncShareName/,/\]/ s/.*'\(.*\)'.*/\1/ p" <<< "$file")
BackupFilesOnly=""
flag=false
while read ligne
do
[[ "$ligne" =~ "BackupFilesOnly" ]] && flag=true && continue
[[ "$ligne" =~ "};" ]] && flag=false && continue
[[ "$ligne" =~ '],' ]] || [[ "$ligne" =~ ']' ]] && continue
if $flag; then
path=$(cut -d "'" -f2 <<< "$ligne")
[[ "$ligne" =~ '=>' ]] && {
sub=$path
if grep -q $sub <<< "$RsyncShareName"; then
RsyncShareName=$(grep -v "$sub" <<< "$RsyncShareName")
fi
continue
}
BackupFilesOnly+="${sub}${path}\\n"
fi
done <<< "$file"
RsyncShareName+=$(echo -e "\\n$BackupFilesOnly")
echo "$RsyncShareName"
exitEDIT:
@pingouinux
Venant de toi le chapeau, je le prends comme une medaille ![]()
J'avais trouvé ça marrant de faire comme ça ....Mais c'est du vite fait hein ... peut mieux faire ! 5/10
Dernière modification par AnsuzPeorth (Le 27/04/2012, à 18:30)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#30 Le 27/04/2012, à 19:10
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
Coucou AnsuzPeorth ![]()
Vouep un compliment venant de pingouinux, ca l'fait !
Je suis souvent, comment dire esplanté ! par les kadors dans son genre qui postent sur ce forum...
pingouinux, c'est du niveau de feu Alain.g
Dernière modification par frafa (Le 27/04/2012, à 19:13)
Hors ligne
#31 Le 30/04/2012, à 09:05
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
Si j'insiste sur le fait que tu gère AnsuzPeorth ^^
Merci beaucoup pour le code en Bash, tu me sors une sacrée épine du pied!!! Je pense que j'aurais mis genre 1 mois pour pondre ça xD
Et merci à vous tous pour votre contrib ![]()
Allez dernière question ensuite je vous embêtes plus.... normalement ^^ : Vous connaissez de bons bouquins pour apprendre et approfondir le bash?
Vieux geek, en école d'info, spé systèmes et réseaux...
Hors ligne
#32 Le 30/04/2012, à 11:52
Re : Extraire une chaine variable d'un fichier (sed, awk, grep...)
Bjr,
J'ai commencé mon apprentissage sur ce site: http://abs.traduc.org/abs-fr/
Pour appronfondir, man bash, on peut trouver des version FR en ligne.
Pour ce qui est des bouqins papier, aucune idées.
@frafa
Arfff, Alain.g .... Sans vouloir diminuer qui que ce soit, Alain.g, c'est Alain.g, il nous sortait des trucs de l'espace qd même !
C'est marrant même, on a tjrs une ou deux personnes qui touchent bien et qui partage leurs connaissances sur ce site, il y a un roulement naturel. Je trouve juste dommage qu'il y ai des personnes TRES qualifié ici et qui ne partage rien, qui critique juste ou s'en foute royalement d'aider les autres, enfin, c'est comme ça ...
Dernière modification par AnsuzPeorth (Le 30/04/2012, à 11:56)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
- Accueil
- » Forum
- » Développement et programmation
- » Extraire une chaine variable d'un fichier (sed, awk, grep...)
