Supprimer ligne recherché dans un fichier
Résolu
alibm
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
alibm Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
alibm Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'a i quelques questions à propos du sed.
J'ai un fichier data qui contient ces informations
001126:olivier:26:London
004146:brad:25:Paris
0012548:Phillipe:21:Manchester
Pour chercher un une personne on fait par exemple
a=001126
grep $a data
Pour supprimer une ligne dans un fichier on fait par exemple ligne 2
sed '2d' data
Comment avoir le numéro de la ligne contenat un motif après recherche ??
Comment supprimer parsuite ce ligne par la commande sed ou autre??
quand je fais
a=2
sed '$ad' data
il fait erreur
Merci infiniment
Aly
J'a i quelques questions à propos du sed.
J'ai un fichier data qui contient ces informations
001126:olivier:26:London
004146:brad:25:Paris
0012548:Phillipe:21:Manchester
Pour chercher un une personne on fait par exemple
a=001126
grep $a data
Pour supprimer une ligne dans un fichier on fait par exemple ligne 2
sed '2d' data
Comment avoir le numéro de la ligne contenat un motif après recherche ??
Comment supprimer parsuite ce ligne par la commande sed ou autre??
quand je fais
a=2
sed '$ad' data
il fait erreur
Merci infiniment
Aly
A voir également:
- Supprimer ligne recherché dans un fichier
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
5 réponses
Salut,
Pour ton problème, le plus simple serait à mon avis :
a=004146
grep -v "^$a" data
pour le sed:
sed "${a}d" data
devrait mieux marcher...
je n'ai pas unix à la maison, je ne peux donc pas vérifier tout ça...
Pour ton problème, le plus simple serait à mon avis :
a=004146
grep -v "^$a" data
pour le sed:
sed "${a}d" data
devrait mieux marcher...
je n'ai pas unix à la maison, je ne peux donc pas vérifier tout ça...
grep -n t'affiche le numéro de ligne, que tu peux extraire facilement, genre:
grep -n "$a" data | cut -d: -f1
a vérifier...
grep -n "$a" data | cut -d: -f1
a vérifier...
Salut,
Il faut prendre l'habitude de lire les pages man
man grep
106485010510997108
Il faut prendre l'habitude de lire les pages man
man grep
-n, --line-number Ajouter à chaque ligne de sortie un préfixe contenant son numéro dans le fichier.--
106485010510997108
Salut,
[tmpfs]$ cat fich 001126:olivier:26:London 004146:brad:25:Paris 0012548:Phillipe:21:Manchester [tmpfs]$ sed '/001126/d' fich 004146:brad:25:Paris 0012548:Phillipe:21:Manchester [tmpfs]$ a="001126" [tmpfs]$ sed "/$a/d" fich # note les quotes doubles autour de la variable 004146:brad:25:Paris 0012548:Phillipe:21:Manchester [tmpfs]$ a=1 [tmpfs]$ sed "/$a/d" fich # tout est effacé, normal le motif "1" étant présent dans chaque ligne [tmpfs]$ sed "$a d" fich 004146:brad:25:Paris 0012548:Phillipe:21:Manchester [tmpfs]$;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
001126:olivier:26:London
004146:brad:25:Paris
0012548:Phillipe:21:Manchester
j'ai le motif a=01126
Je veut obtenir le numero du ligne de ce motif pour la supprimer.