Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2006, 15h51   #1
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
Par défaut Problème de SED

Bonjour,
j'ai un fichier qui contient:

Citation:
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
/formation/user2/unividv3.sas:%macro affi (tot);
je veux garder que ceux qui ne contient pas des parenthèses
et ceux qui contient des parenthèses avec un chiffre à l'interieur:

j'ai essayé la commande suivante: mais
elle m'affiche pas ce que je veux.

voila ce que jeveux exactement:
Citation:
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
Merci
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 17h36   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
salut melmouj,


tu vas nous faire faire tous tes devoirs ?

tu pourrais au moins prendre la peine de répondre à tes anciens posts... merci

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 17h40   #3
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
bonjour,
Dans ton cs je pense que grep est mieux approprié car tu veux juste filtré le fichier et non le
modifier.

Citation:
narma@linimi:/tmp$ cat toto.txt
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
/formation/user2/unividv3.sas:%macro affi (tot);
narma@linimi:/tmp$ cat toto.txt |grep -vE "\([^0-9]+\) *;"
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 12h12   #4
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
Par défaut PB de sed

oui je sais que c'est plus simple avec une petite grep on a ce qu'on veut.
mais malheresement pas ça ce que je veux;

je veux recuperer toute les lignes avec les parenthèses qui contiennent un nombre et pas ceux qui contiennent autre chose que les nombres.



Citation:
Envoyé par narmataru
bonjour,
Dans ton cs je pense que grep est mieux approprié car tu veux juste filtré le fichier et non le
modifier.

Citation:
narma@linimi:/tmp$ cat toto.txt
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
/formation/user2/unividv3.sas:%macro affi (tot);
narma@linimi:/tmp$ cat toto.txt |grep -vE "\([^0-9]+\) *;"
/formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;


moi j'ai essayé :
Code :
1
2
3
 
 
sed 's/(.*$//g' fic2
mais ce que je veux est:

Code :
1
2
3
4
5
6
7
 
formation/user2/unividv3.sas:%macro menuhr(2) ;
/formation/user2/unividv3.sas:%macro menuin;
/formation/user2/unividv3.sas:%MACRO deterpar;
/formation/user2/unividv3.sas:%MACRO exisctxt;
/formation/user2/unividv3.sas:%macro errCheck;
/formation/user2/unividv3.sas:%macro affi ;
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 12h17   #5
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 245
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 245
Points : 1 902
Points : 1 902
Donc reformulons ton problème s'il te plaît.

Ce que tu veux c'est :
supprimer toutes les chaînes de caractères délimitées par des parenthèses qui contiennent autre chose qu'uniquement des chiffres.

C'est ça ?
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 13h53   #6
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
Par défaut PB SED

voila c'est ça.
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h03   #7
Membre habitué
 
Michaël Hooreman
Inscription : octobre 2005
Messages : 111
Détails du profil
Informations personnelles :
Nom : Michaël Hooreman
Âge : 31
Localisation : Belgique

Informations forums :
Inscription : octobre 2005
Messages : 111
Points : 134
Points : 134
Avec un one liner perl:

Code :
cat toto.txt | perl -ne 's/\(\D+\)//g;print'
mhooreman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 18h02   #8
Membre du Club
 
Avatar de dervish
 
Inscription : avril 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 99
Points : 66
Points : 66
Salut,
sinon, tu as:
Code :
1
2
 
cat liste | sed 's/([^[:digit:]]*)$//'
dervish est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h20.


 
 
 
 
Partenaires

Hébergement Web