Supprimer un partie compris entre [crochet] d'un fichier

Fermé
ewilanenmarchombre - 22 janv. 2016 à 18:05
 ewilanenmarchombre - 25 janv. 2016 à 09:04
Bonjour,
Script Bash
Je dois modifier un fichier pour que tout les passages compris entre crochet soit supprimé.
De plus, je dois aussi modifier un autre fichier comprend des passages avec de nombreux tirets et des sauts de lignes à certains endroits que je souhaiterais supprimer...
Les deux fichiers etant tres longs, je ne tiens pas vraiment a le faire a la main ....

Exemple correpondant au fichier 1:
Partie a garder
[blablablabla]Partie a garder
[babebibobu]Partie a garder
[blablibla] Partie a garder un peu plus longue que les autres
Partie a garder aussi
Partie a garder

Je souhaiterais obtenir:
Partie a garder
Partie a garder
Partie a garder un peu plus longue que les autres
Partie a garder

Exemple correspondant au fichier 2:
Nom_de_la_Donnee1
AAAAAAAAAA----------DDDDDDDDDDDDDDDDDDDDDD--------------SSSSSSSSSS----------QQQQQQQ


QQQ----------QQQQQQQQQQQQ----------QQQQQQQ-Q-Q-Q-Q-Q-
Q-Q-----AAAAA-----A
Nom-Donnée-2
AAAAAAAAA
AAAAAAAAAAAAAAAAA-------------AAAAAAAAAAAA----------SSSSSSSSSSS----------AAAAAAAA--------RRRRRRRRR--------AAAAAAAAA


Je souhaiterais obtenir:
Nom_de_la_Donnee1
AAAAAAADDDDDDDDDDDDSSSSSSSSSSSQQQQQQQQQQ
Nom-Donnée-2
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQAAAAAAA

Voilà

P.S.: J'ignore si cette question est d'un simplicité évidente pour certains, et je suis vraiment désolé si c'est le cas...
P.S.2: Je suis vraiment débutante...

Cordialement

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
22 janv. 2016 à 18:16
Salut,

Pour le 1 :

$ cat fich1
Partie a garder
[blablablabla]Partie a garder
[babebibobu]Partie a garder
[blablibla] Partie a garder un peu plus longue que les autres
Partie a garder aussi
Partie a garder

$ sed 's/\[[^]]*\]//g' fich1
Partie a garder
Partie a garder
Partie a garder
Partie a garder un peu plus longue que les autres
Partie a garder aussi
Partie a garder


Pour le 2 ton exemple n'est pas assez précis ;-(

Voilà un exemple qui supprimes les tirets et les lignes vides :

$ cat fich2
Nom_de_la_Donnee1
AAAAAAAAAA----------DDDDDDDDDDDDDDDDDDDDDD--------------SSSSSSSSSS----------QQQQQQQ


QQQ----------QQQQQQQQQQQQ----------QQQQQQQ-Q-Q-Q-Q-Q-
Q-Q-----AAAAA-----A
Nom-Donnée-2
AAAAAAAAA
AAAAAAAAAAAAAAAAA-------------AAAAAAAAAAAA----------SSSSSSSSSSS----------AAAAAAAA--------RRRRRRRRR--------AAAAAAAAA


$ sed 's/--*//g;/^$/d' fich2
Nom_de_la_Donnee1
AAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDSSSSSSSSSSQQQQQQQ
QQQQQQQQQQQQQQQQQQQQQQQQQQQ
QQAAAAAA
NomDonnée2
AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSAAAAAAAARRRRRRRRRAAAAAAAAA

0
ewilanenmarchombre
25 janv. 2016 à 08:49
Bonjour,

Pour le fichier n° 2, idéalement ( j'ignore si c'est possible) j'aimerais pouvoir enlever les sauts de lignes compris au milieu des tirets ou des séries de A ... Mais pas les sauts de lignes compris entre >Nom_de_la_Donnee1 et le début des A...

J'ignore si c'est plus clair pour toi, merci beaucoup en tout cas pour ce bon début de réponse...

Cordialement
0
ewilanenmarchombre
25 janv. 2016 à 09:04
Bonjour,
Merci beaucoup en tout cas, tes solutions m'avancent beaucoup même si je ne suis pas sure de comprendre toute la synthase de sed...
Cordialement
ewi
0