Je voudrais faire un traitement simple en bash. Mais il semble que je
n'utilise pas les bon outils car je n'arrive pas à résoudre.
Cela consiste à parser un fichier ldif contenant des dn et a appliquer
pour chacun d'entre eux un ensemble de traitements.
Exemple de fichier ldif (les retour à la lignes sont volontaires)
----------------------------------------------------
dn: uid=toto,ou=idee,ou=plus,ou=microsoft,ou=linux,
ou=pas,o=machin,c=fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérémy JUST
On Sun, 13 Mar 2005 19:58:40 +0100 Denis wrote:
voilà, si quelqu'un pouvait m'aider.
Quand un problème de chaînes de caractères ne peut pas être résolu en shell sans aide extérieure (fcolc, fcou), je pense qu'il est plus rapide de se documenter un peu sur awk ou Perl (personnellement, je penche pour Perl).
<<<<< #!/usr/bin/perl -w
use strict ;
local $/ = "nn" ; # On change le séparateur d'enregistrements
while(my $line = <>) {$line =~s/ns*//g ; # On supprime les sauts de ligne et les espaces # qui les suivent print "$linen"; # Et hop! }
-- Jérémy JUST
On Sun, 13 Mar 2005 19:58:40 +0100
Denis <a.b@c.d> wrote:
voilà, si quelqu'un pouvait m'aider.
Quand un problème de chaînes de caractères ne peut pas être résolu
en shell sans aide extérieure (fcolc, fcou), je pense qu'il est plus
rapide de se documenter un peu sur awk ou Perl (personnellement, je
penche pour Perl).
<<<<<
#!/usr/bin/perl -w
use strict ;
local $/ = "nn" ; # On change le séparateur d'enregistrements
while(my $line = <>)
{$line =~s/ns*//g ; # On supprime les sauts de ligne et les espaces
# qui les suivent
print "$linen"; # Et hop!
}
Quand un problème de chaînes de caractères ne peut pas être résolu en shell sans aide extérieure (fcolc, fcou), je pense qu'il est plus rapide de se documenter un peu sur awk ou Perl (personnellement, je penche pour Perl).
<<<<< #!/usr/bin/perl -w
use strict ;
local $/ = "nn" ; # On change le séparateur d'enregistrements
while(my $line = <>) {$line =~s/ns*//g ; # On supprime les sauts de ligne et les espaces # qui les suivent print "$linen"; # Et hop! }
-- Jérémy JUST
Khanh-Dang
Je voudrais faire un traitement simple en bash. Mais il semble que je n'utilise pas les bon outils car je n'arrive pas à résoudre.
Oui, en général, il vaut mieux utiliser, pour ce que tu veux faire, d'autres outils comme sed, awk, voire perl.
Cela consiste à parser un fichier ldif contenant des dn et a appliquer pour chacun d'entre eux un ensemble de traitements.
Exemple de fichier ldif (les retour à la lignes sont volontaires)