App-Greple-tee

 view release on metacpan or  search on metacpan

docs/src/tee.FR.pod  view on Meta::CPAN


=item B<--crmode>

Cette option remplace tous les caractères de nouvelle ligne au milieu de chaque bloc par des caractères de retour chariot. Les retours chariot contenus dans le résultat de l'exécution de la commande sont ramenés au caractère de nouvelle ligne. ...

=item B<--fillup>

Combiner une séquence de lignes non vides en une seule ligne avant de les passer à la commande de filtrage. Les caractères de nouvelle ligne entre les caractères de grande largeur sont supprimés, et les autres caractères de nouvelle ligne sont ...

=item B<--squeeze>

Combine deux ou plusieurs caractères de retour à la ligne consécutifs en un seul.

=item B<-ML> B<--offload> I<command>

L'option B<--offload> de L<teip(1)> est implémentée dans le module L<App::Greple::L> (B<-ML>).

    greple -Mtee cat -n -- -ML --offload 'seq 10 20'

Vous pouvez également utiliser le module B<-ML> pour ne traiter que les lignes paires, comme suit.

    greple -Mtee cat -n -- -ML 2::2

=back

=head1 LEGACIES

L'option B<--blocs> n'est plus nécessaire maintenant que l'option B<--stretch> (B<-S>) a été implémentée dans B<greple>. Vous pouvez simplement procéder comme suit.

    greple -Mtee cat -n -- --all -SE foo

Il n'est pas recommandé d'utiliser l'option B<--blocks> car elle pourrait être dépréciée à l'avenir.


=over 7

=item B<--blocks>

Normalement, la zone correspondant au modèle de recherche spécifié est envoyée à la commande externe. Si cette option est spécifiée, ce n'est pas la zone correspondant au motif de recherche qui sera traitée, mais l'ensemble du bloc qui la con...

Par exemple, pour envoyer à la commande externe des lignes contenant le motif C<foo>, vous devez spécifier le motif correspondant à la ligne entière :

    greple -Mtee cat -n -- '^.*foo.*\n' --all

Mais avec l'option B<--blocks>, cela peut être fait aussi simplement que suit :

    greple -Mtee cat -n -- foo --blocks

Avec l'option B<--blocs>, ce module se comporte plus comme l'option B<-g> de L<teip(1)>. Sinon, le comportement est similaire à celui de L<teip(1)> avec l'option B<-o>.

N'utilisez pas l'option B<--blocks> avec l'option B<--all>, car le bloc sera la totalité des données.

=back

=head1 WHY DO NOT USE TEIP

Tout d'abord, chaque fois que vous pouvez le faire avec la commande B<teip>, utilisez-la. C'est un excellent outil et beaucoup plus rapide que B<greple>.

Comme B<greple> est conçu pour traiter des fichiers de documents, il possède de nombreuses fonctionnalités qui lui sont appropriées, comme les contrôles de la zone de correspondance. Il peut être intéressant d'utiliser B<greple> pour profiter ...

Par ailleurs, B<teip> ne peut pas traiter plusieurs lignes de données comme une seule unité, alors que B<greple> peut exécuter des commandes individuelles sur un fragment de données composé de plusieurs lignes.

=head1 EXAMPLE

La commande suivante trouvera des blocs de texte dans le document de style L<perlpod(1)> inclus dans le fichier du module Perl.

    greple --inside '^=(?s:.*?)(^=cut|\z)' --re '^([\w\pP].+\n)+' tee.pm

Vous pouvez les traduire par le service DeepL en exécutant la commande ci-dessus combinée avec le module B<-Mtee> qui appelle la commande B<deepl> comme ceci :

    greple -Mtee deepl text --to JA - -- --fillup ...

Le module dédié L<App::Greple::xlate::deepl> est plus efficace dans ce but, cependant. En fait, l'indice d'implémentation du module B<tee> vient du module B<xlate>.

=head1 EXAMPLE 2

La prochaine commande trouvera une partie indentée dans le document LICENSE.

    greple --re '^[ ]{2}[a-z][)] .+\n([ ]{5}.+\n)*' -C LICENSE

      a) distribute a Standard Version of the executables and library files,
         together with instructions (in the manual page or equivalent) on where to
         get the Standard Version.

      b) accompany the distribution with the machine-readable source of the Package
         with your modifications.

Vous pouvez reformater cette partie en utilisant le module B<tee> avec la commande B<ansifold> :

    greple -Mtee ansifold -rsw40 --prefix '     ' -- --discrete --re ...

      a) distribute a Standard Version of
         the executables and library files,
         together with instructions (in the
         manual page or equivalent) on where
         to get the Standard Version.

      b) accompany the distribution with the
         machine-readable source of the
         Package with your modifications.

L'option --discrete démarre plusieurs processus, ce qui allonge la durée d'exécution du processus. Vous pouvez donc utiliser l'option C<--separate '\r'> avec C<ansifold> qui produit une seule ligne en utilisant le caractère CR au lieu du caractè...

    greple -Mtee ansifold -rsw40 --prefix '     ' --separate '\r' --

Ensuite, convertissez le caractère CR en NL à l'aide de la commande L<tr(1)> ou d'une autre commande.

    ... | tr '\r' '\n'

=head1 EXAMPLE 3

Considérons une situation dans laquelle vous souhaitez rechercher des chaînes de caractères dans des lignes autres que l'en-tête. Par exemple, vous pouvez rechercher les noms d'images Docker de la commande C<docker image ls>, mais laisser la lign...

    greple -Mtee grep perl -- -ML 2: --discrete --all

L'option C<-ML 2:> récupère l'avant-dernière ligne et l'envoie à la commande C<grep perl>. L'option --discrete est nécessaire car le nombre de lignes d'entrée et de sortie change, mais comme la commande n'est exécutée qu'une seule fois, il n'...

Si vous essayez de faire la même chose avec la commande B<teip>, C<teip -l 2- -- grep> donnera une erreur parce que le nombre de lignes de sortie est inférieur au nombre de lignes d'entrée. Le résultat obtenu ne pose cependant aucun problème.

=head1 INSTALL



( run in 1.403 second using v1.01-cache-2.11-cpan-b16cb0d3907 )