Comment supprimer des lignes d'un fichier

Résolu/Fermé
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 29 oct. 2008 à 17:47
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 30 oct. 2008 à 17:49
Bonjour,

J’aimerai à partir de la commande sed supprimer des lignes avec les caractères AAAAAAAAAAAAAAAAAAAAAAAA la suppression ne doit ce faire qu'à partir de la 3ème ligne du fichier et jusqu'à la fin.
Le fcichier avant modif:

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

Le fichier après modif:

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF


123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

Merci pour votre aide
A voir également:

16 réponses

(Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009 82
29 oct. 2008 à 18:10
sed -e '3,/AAAAAAAAAAAAAAAAAAAAAAAA /d'
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
29 oct. 2008 à 18:40
Salut,

Essaie plutôt :
sed '3,$ {/^AA*/d}' fichier
;-))
0
(Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009 82
29 oct. 2008 à 18:43
c’est vrai que c’est plus propre :)
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > (Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009
29 oct. 2008 à 18:47
Et que ça marche surtout ;-))
[tmpfs]$ cat fichier
AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

[tmpfs]$ sed -e '3,/AAAAAAAAAAAAAAAAAAAAAAAA /d' fichier
AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

[tmpfs]$ sed '3,$ {/^AA*/d}' fichier
AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA

123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF


123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF


123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF

[tmpfs]$  
;-))
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
29 oct. 2008 à 20:02
salut,

en plus compact :

[
redfox@mandriva Desktop]$ cat prog.sed
/^$/d

[redfox@mandriva Desktop]$

[redfox@mandriva Desktop]$ sed -f prog.sed sedfile > sedfile2 | sed '3,$ {/^AA*/d}' sedfile2
AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
[redfox@mandriva Desktop]$ 
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
29 oct. 2008 à 20:07
;-))

Mais en plus compact y'a :
sed '3,$ {/^AA*\|^$/d}' fichier
;-))
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
29 oct. 2008 à 20:09
merch'i bien ! :-)))
0

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

Posez votre question
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
29 oct. 2008 à 20:28
plus court ?

[redfox@mandriva Desktop]$ cat prog.sed
/^$/d
3,$ {/^AA*/d}

[redfox@mandriva Desktop]$
[redfox@mandriva Desktop]$ sed -f prog.sed sedfile
AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
123456789
123456789
DGFDFGFGR
FDSFGSGGF
DSDSFFDFF
[redfox@mandriva Desktop]$

0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 09:57
Bonjour à toutes et tous,

Merci pour vos solutions je vais essayer ce matin je vous tiens au courant.

Merci encore à toutes et tous
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 10:56
Il m'est pas possible de passer la commande sed 3,$ {/^AA*/d} j'ai à chaque fois le message suivant:

sed : commande incohérente : 3,$ {/^AA*/d}
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 11:03
Essaye comme ça alors :
sed '1,3!{/^AA*/d}'
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 11:19
Hélas ce n'est pas mieux

sed '1,3!{/^AA*/d}' fichier
sed : commande incohérente : 1,3!{/^AA*/d}
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 11:28
Essaye alors '0,3' sans grande conviction ;-(
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 11:42
Non pas plus pas moin aucune commande possible
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 11:43
Quelle version de sed ? (sed --version ou sed -v)
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 12:03
Version 5
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 12:14
Bon dans un 1er temps essaye ça :
 sed -n '1,3p' fichier
et si ça t'affiche bien que les 3 premières lignes essaie alors :
sed -n -e '1,3p' -e '/^AA*/!p' fichier
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 14:38
Merci beucoup de l'aide
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 14:45
Ça a marché ?
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 15:11
Oui mais le résultat n'est pas tout à fait celui que j'attends je pense faire autrement

Je vais modifier toutes les lignes qui correspondent au motif AAAAAAAAAAAAAAA après la ligne 6 jusqu'à la fin de mon fichier par les caractères suivants XXXXXXXXXXXXXXXXXXXXXX puis je vais faire le delete des lignes qui sont égale à XXXXXXXXXXXXXXXX et la ca marche. pas simple mais le résultat est ok.

Merci encore pout l'aide au faite j'ai laissé un post sur le shutdown tu as répondu merci mais à ta connaissance il n'y a pas de moyen de répéter le sutdown tous les jours à partir de la commande sutdown il me semblait pourtant que la manipe était possible???

Donc la seule façon de faire est d’utiliser le cron pas d’autre possibilité ???
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 16:22
Pour le shutdown voir la réponse de Brunomarc, en fait c'est un compromis entre le fait que la commande shutdown possède en effet une option de programmation (heure), mais similaire à la commande "at" c'est à dire programmable qu'une fois donc à initialiser tous les jours dans un fichier lu au démarrage du PC, et la commande cron qui automatise une tâche indéfiniment si l'on veut.

Honnêtement la seconde solution (cron) me semble quand même la plus appropriée ;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
30 oct. 2008 à 17:47
Oui j’adopte la seconde solution donc je vais adapter par rapport au cron éventuellement tu n'aurais pas un exemple de cron pour automatiser le boot

Merci beaucoup bonne soirée A+
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 oct. 2008 à 17:49
Linux - Ordonnancement des taches
Automatiser des tâches avec init et cron
0