App-Greple-tee

 view release on metacpan or  search on metacpan

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


=item B<--crmode>

Această opțiune înlocuiește toate caracterele newline din mijlocul fiecărui bloc cu caractere carriage return. Carriage returns conținute în rezultatul executării comenzii sunt returnate la caracterul newline. Astfel, blocurile formate din ma...

=item B<--fillup>

Combină o secvență de linii care nu sunt goale într-o singură linie înainte de a le trece la comanda de filtrare. Caracterele newline dintre caracterele de lățime mare sunt șterse, iar celelalte caractere newline sunt înlocuite cu spații.

=item B<--squeeze>

Combină două sau mai multe caractere de linie nouă consecutive într-unul singur.

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

Opțiunea B<--offload> a L<teip(1)> este implementată în modulul diferit L<App::Greple::L> (B<-ML>).

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

De asemenea, puteți utiliza modulul B<-ML> pentru a procesa numai liniile cu număr par, după cum urmează.

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

=back

=head1 LEGACIES

Opțiunea B<--blocks> nu mai este necesară acum că opțiunea B<--stretch> (B<-S>) a fost implementată în B<greple>. Puteți efectua pur și simplu următoarele.

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

Nu se recomandă utilizarea opțiunii B<--blocks>, deoarece aceasta poate fi depreciată în viitor.


=over 7

=item B<--blocks>

În mod normal, zona care corespunde modelului de căutare specificat este trimisă la comanda externă. În cazul în care se specifică această opțiune, nu zona care corespunde, ci întregul bloc care o conține va fi procesat.

De exemplu, pentru a trimite liniile care conțin modelul C<foo> la comanda externă, trebuie să specificați modelul care se potrivește cu întreaga linie:

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

Dar cu opțiunea B<--blocuri>, se poate face la fel de simplu, după cum urmează:

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

Cu opțiunea B<--blocuri>, acest modul se comportă mai mult ca opțiunea B<-g> de la L<teip(1)>. În rest, comportamentul este similar cu cel al lui L<teip(1)> cu opțiunea B<-o>.

Nu utilizați B<--blocks> cu opțiunea B<--all>, deoarece blocul va fi reprezentat de toate datele.

=back

=head1 WHY DO NOT USE TEIP

În primul rând, ori de câte ori puteți face acest lucru cu comanda B<teip>, utilizați-o. Este un instrument excelent și mult mai rapid decât B<greple>.

Deoarece B<greple> este concepută pentru a procesa fișiere document, are multe caracteristici care îi sunt adecvate, cum ar fi controalele zonei de potrivire. Ar putea merita să utilizați B<greple> pentru a profita de aceste caracteristici.

De asemenea, B<teip> nu poate trata mai multe linii de date ca o singură unitate, în timp ce B<greple> poate executa comenzi individuale pe un fragment de date format din mai multe linii.

=head1 EXAMPLE

Următoarea comandă va găsi blocuri de text în interiorul documentului de stil L<perlpod(1)> inclus în fișierul modul Perl.

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

Puteți să le traduceți prin serviciul DeepL executând comanda de mai sus convinsă cu modulul B<-Mtee> care apelează comanda B<deepl> astfel:

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

Totuși, modulul dedicat L<App::Greple::xlate::deepl> este mai eficient în acest scop. De fapt, sugestia de implementare a modulului B<tee> a venit de la modulul B<xlate>.

=head1 EXAMPLE 2

Următoarea comandă va găsi o parte indentată în documentul LICENȚĂ.

    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.

Puteți reformata această parte utilizând modulul B<tee> cu comanda 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.

Opțiunea --discrete va porni mai multe procese, astfel încât procesul va dura mai mult timp pentru a se executa. Astfel, puteți utiliza opțiunea C<--separate '\r'> cu C<ansifold> care produce o singură linie folosind caracterul CR în loc de NL...

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

Apoi, convertiți caracterul CR în NL prin comanda L<tr(1)> sau alta.

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

=head1 EXAMPLE 3

Luați în considerare o situație în care doriți să căutați prin grep șiruri de caractere din liniile fără antet. De exemplu, este posibil să doriți să căutați numele imaginilor Docker din comanda C<docker image ls>, dar să lăsați li...

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

OpÈ›iunea C<-ML 2:> recuperează penultimele linii È™i le trimite către comanda C<grep perl>. OpÈ›iunea --discrete este necesară deoarece numărul de linii de intrare È™i de ieÈ™ire se modifică, dar deoarece comanda este executată o singură datÄ...

Dacă încercați să faceți același lucru cu comanda B<teip>, C<teip -l 2- -- grep> va da o eroare deoarece numărul de linii de ieșire este mai mic decât numărul de linii de intrare. Cu toate acestea, nu există nicio problemă cu rezultatul o...

=head1 INSTALL



( run in 1.139 second using v1.01-cache-2.11-cpan-364913b4093 )