Bonjour,
Je souhaite, en ligne de commande Shell :
- extraire du fichier tous les mots se terminant par '.exe'
et tous les mots sont compris entre '>' et '<'
Merci pour votre aide
bye
Bonjour,
Je souhaite, en ligne de commande Shell :
- extraire du fichier tous les mots se terminant par '.exe'
et tous les mots sont compris entre '>' et '<'
Merci pour votre aide
bye
Envoyé par Sakapatate
Pas garanti vu que tu ne donnes pas d'exemple du contenu du fichier à analyser![]()
sed -n -e "/\.exe$/p" -e "/>[^<]*</s/>\([^<]*\)</\1/gp"
hello,
En effet, j'ai pas mis bcp d'info.
Voici un exemple de chaine de caractère :
"version >2-1.exe< du 13/02"
et moi je veux extraire la chaine : 2-1.exe
Merci pour ton aide...
bye
Envoyé par Sakapatate
Pour cet exemple, ça marche![]()
- Une brève introduction aux expressions rationnelles
echo "version >2-1.exe< du 13/02" | sed -n "s/^.*>\([^<]*\.exe\)<.*$/\1/p"
2-1.exe
Merci bcp...
Avec en plus l'aide sur les RE c'est cool.
Merci
Bye
Bonjour,
Je pose ma question dans ce topic car il me semble qu'elle y ressemble beaucoup :
J'arrive à obtenir la liste des fichiers nommés 'url' contenant le texte 'prdownloads.sourceforge.net' dans le répertoire package avec :
Mais j'aimerais dans chaque fichier remplacer 'prdownloads.sourceforge.net' par 'superb-west.dl.sourceforge.net/sourceforge'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $ find packages/ -iname url | xargs grep prdownloads.sourceforge.net packages/strace/url:http://prdownloads.sourceforge.net/strace/strace-4.5.14.tar.bz2 packages/scummvm/url:http://prdownloads.sourceforge.net/scummvm/scummvm-0.9.1.tar.bz2 packages/pylirc/url:http://prdownloads.sourceforge.net/pylirc/pylirc-0.0.5.tar.gz packages/fuse/url:http://prdownloads.sourceforge.net/fuse/fuse-2.5.3.tar.gz packages/zsnes/url:http://prdownloads.sourceforge.net/zsnes/zsnes150src.tar.bz2 packages/libungif/url:http://prdownloads.sourceforge.net/libungif/libungif-4.1.4.tar.bz2 packages/lirc/url:http://prdownloads.sourceforge.net/lirc/lirc-0.8.1.tar.bz2 packages/PyXML/url:http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz packages/imlib2/url:http://prdownloads.sourceforge.net/enlightenment/imlib2-1.3.0.tar.gz packages/libupnp/url:http://prdownloads.sourceforge.net/pupnp/libupnp-1.4.1.tar.gz packages/freetype/url:http://prdownloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2 packages/sysfsutils/url:http://prdownloads.sourceforge.net/linux-diag/sysfsutils-2.0.0.tar.gz packages/libexif/url:http://prdownloads.sourceforge.net/libexif/libexif-0.5.12.tar.gz
Je suppose que c'est la commande sed qu'il faudrait utiliser mais je ne sais pas comment ...
Envoyé par faya972
Ça doit marcher (en bash), mais à tester sur un fichier au préalable![]()
find . -iname url | xargs grep -l prdownloads.sourceforge.net | xargs sed -i 's!prdownloads.sourceforge.net!superb-west.dl.sourceforge.net/sourceforge!'
Heu ... étant passé à un autre projet entretemps, je me rends compte maintenant que je ne t'ai pas remercié BlaireauOne (!??).
Je n'ai pas encore testémais je ferai savoir si ça fonctionne. Et encore merci.
Partager