Delete de lignes sous VI

Résolu/Fermé
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 16 janv. 2009 à 14:12
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 18 janv. 2009 à 18:03
Bonjour,

Je recherche la commande qui me permettra de supprimer toutes les lignes qui correspondent au motif suivants

Motif AAAAAAAXXXXXXXXX

J'ai essayé avec la commande suivante: /AAAAAAAXXXXXXXXX/d
Elle me retire qu'une ligne du fichier
J'ai essayé avec 1,$/AAAAAAAXXXXXXXXX/d Ne marche pas

Exemple de fichier :

1111111111113333333333444444444444
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
RRRRRRRRRRRRRRRRRRRRRRRRRRRR
AAAAAAAXXXXXXXXX

222222222222222222222222222222222
DDDDDDFFFFFFFFFFFFFFFFFFFFf
FFFFFFFFFFGGGGGGGGGGGGGGGGGGGGG
GHHHHHHHHHHHHHHHHHHHHHHHH
AAAAAAAXXXXXXXXX

UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUfffffff
mmmmmmmmmmmmmmmmmmmmmmmtttttttt
pppppppppppppppppppppppppppppp
AAAAAAAXXXXXXXXX

Merci

10 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 janv. 2009 à 14:18
Salut,
:g/AAAAAAAXXXXXXXXX/d
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
16 janv. 2009 à 14:21
Slt

Merci
Mais si on veut uniquement à partir de la ligne 5 jusqu'à la fin donc on ne garde que le premier motif?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 janv. 2009 à 14:29
:5,$ g/AAAAAAAXXXXXXXXX/d
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
16 janv. 2009 à 14:40
Ok merci ça marche

Merci pour l'aide et bon week-end
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 janv. 2009 à 14:41
De rien, bon week-end à toi aussi ;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
18 janv. 2009 à 16:49
Slt,

J'ai un soucis avec la commande g/AAAAAAAXXXXXXXXX/d ou 5,$ g/AAAAAAAXXXXXXXXX/d elle ne passe pas en batch
y a t-il une option pour la commande

ci-joint la commande batch:
cat mon_fichier|sed -e "g/AAAAAAAXXXXXXXXX/d" >mon_nouveau_fichier

ou

cat mon_fichier|sed -e "1,$ g/AAAAAAAXXXXXXXXX/d" >mon_nouveau_fichier

idem pour les deux le message est sed : commande incoherente : 1,$ g/AAAAAAAXXXXXXXXX/d
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 janv. 2009 à 17:03
Il ne faut pas confondre l'éditeur "vi" et la commande "sed" (éditeur orienté lignes) :
sed -i.bak '/AAAAAAAXXXXXXXXX/d' fichier
sed -i.old '5,$ /AAAAAAAXXXXXXXXX/d'  fichier
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
18 janv. 2009 à 17:05
Bon en effectuant une nouvelle tentative je constate qu'il ne faut pas mettre le g ou le 1,$ g dans le script mais uniquement la syntaxe suivante

sed -e "/AAAAAAAXXXXXXXXX/d"

et la miracle toutes les lignes du motif disparaisse
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
18 janv. 2009 à 17:24
Je voudrais copier dans un fichier la ligne 1 jusqu'au 1er motif AAAAAAAXXXXXXXXX j'ai essayé avec la syntaxe suivante mais ca ne marche pas

cat mon_fichier|sed -e '1,/AAAAAAAXXXXXXXXX' >mon_nouveau_fichier

comment faire??
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
18 janv. 2009 à 17:32
Petite précision la syntaxe 1,/AAAAAAAXXXXXXXXX/' fonctionne bien sous vi mais pas en batch
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 janv. 2009 à 17:35
sed -n '1,/AAAAAAAXXXXXXXXX/w new_fichier' ton_fichier 
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
18 janv. 2009 à 17:46
Ok ça marche est dans la même chose mais je veux faire le delete de la 1er ligne jusqu'au 1er motif
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 janv. 2009 à 18:03
sed -n '1,/AAAAAAAXXXXXXXXX/! w new_fichier' ton_fichier 
Voir : SED - The Stream EDitor - Part II - La négation
0