Provided by: manpages-pl_4.13-4_all bug

NAZWA

       xargs - wykonaj polecenie z argumentami pobranymi ze standardowego wejścia

SKŁADNIA

       xargs [options] [command [initial-arguments]]

OPIS

       Ta  strona  opisuje  wersję GNU programu xargs. xargs czyta ze standardowego wejścia listę
       elementów rozdzielonych spacjami (argumenty je zawierające mogą być ujęte w pojedyncze lub
       podwójne  cudzysłowy  albo  spacje  w  argumentach  mogą  być  poprzedzone  przez odwrotne
       ukośniki)  lub  znakami  nowej  linii.  Następnie  wykonywane  jest  polecenie  (domyślnie
       /bin/echo)  jeden  lub  więcej  razy  z  argumentami-początkowymi,  po  których  następują
       argumenty przeczytane ze standardowego wejścia. Puste linie ze  standardowego  wejścia  są
       ignorowane.

       The  command  line for command is built up until it reaches a system-defined limit (unless
       the -n and -L options are used).  The specified command will be invoked as many  times  as
       necessary  to  use  up  the  list  of  input  items.  In general, there will be many fewer
       invocations of command than there were items  in  the  input.   This  will  normally  have
       significant performance benefits.  Some commands can usefully be executed in parallel too;
       see the -P option.

       Ponieważ nazwy plików pod Uniksem mogą zawierać spacje i znaki nowej  linii,  to  domyślne
       zachowanie  jest  często  problematyczne:  xargs niepoprawnie przetwarza pliki zawierające
       powyższe znaki. W takich sytuacjach lepiej  jest  używać  opcji  -0,  co  zapobiega  takim
       problemom.  Podczas  używania  tej  opcji należy się upewnić, że program, który przetwarza
       wejście dla xargs także używa znaku null jako separatora. Jeśli na przykład tym  programem
       jest GNU find, to odpowiednia opcja to -print0.

       Jeśli  uruchomione polecenia zakończy się z kodem 255, to xargs natychmiast przerwie swoje
       działanie bez czytania dalszego wejścia. Jeśli się to zdarzy, to na  standardowym  wyjściu
       błędów wypisywany jest komunikat błędu.

OPCJE

       -0, --null
              Nazwy  plików wejściowych są zakończone znakiem null zamiast spacją, a cudzysłowy i
              odwrotne  ukośniki  nie  mają  specjalnego  znaczenia  (wszystkie  znaki  są  brane
              dosłownie).  Łańcuch  końca  pliku  jest  traktowany  jak  każdy  inny.  Opcja jest
              użyteczna, gdy argumenty mogą  zawierać  białe  znaki,  cudzysłowy,  apostrofy  lub
              odwrotne  ukośniki.  Ta opcja może być użyta do pobrania argumentów od programu GNU
              find uruchomionego z opcją -print0.

       -a file, --arg-file=file
              Czyta elementy z podanego pliku file zamiast ze  standardowego  wejścia.  Jeśli  ta
              opcja  jest używane, to standardowe wejście nie jest zmieniane podczas uruchamiania
              poleceń. W przeciwnym wypadku standardowe wejście jest przekierowywane z /dev/null.

       --delimiter=delim, -d delim
              Input items are terminated by the specified character.  The specified delimiter may
              be  a  single  character,  a  C-style  character  escape such as \n, or an octal or
              hexadecimal escape code.  Octal and hexadecimal escape codes are understood as  for
              the  printf  command.  Multibyte characters are not supported.  When processing the
              input, quotes and backslash are not special; every character in the input is  taken
              literally.   The  -d  option disables any end-of-file string, which is treated like
              any other argument.  You can use this option when  the  input  consists  of  simply
              newline-separated items, although it is almost always better to design your program
              to use --null where this is possible.

       -E eof-str
              Nadaje łańcuchowi końca pliku wartość eof-str. Jeżeli ciąg oznaczający koniec pliku
              pojawi  się  w jednej z linii wejściowych, reszta danych jest ignorowana. Jeśli nie
              użyto opcji -E, ani -e, to łańcuch końca pliku nie jest używany.

       -e[eof-str], --eof[=eof-str]
              Opcja jest synonimem opcji -E. Należy zamiast niej używać opcji -E,  ponieważ  jest
              zgodna  z  POSIX-em,  podczas  gdy ta opcja — nie jest. Jeśli pominięto eof-str, to
              łańcuch końca pliku nie jest używany. Jeśli nie podano ani opcji -E, ani opcji  -e,
              to łańcuch końca pliku nie jest używany.

       -I replace-str
              Zastępuje  wszystkie wystąpienia replace-str w początkowych-argumentach argumentami
              przeczytanym ze standardowego wejścia.  Ponadto, niecytowane odstępy  nie  separują
              argumentów,  zamiast nich separatorem jest znak nowej linii. Automatycznie włączane
              są opcje -x oraz -L 1.

       -i[replace-str], --replace[=replace-str]
              This option is a synonym for -Ireplace-str if replace-str  is  specified.   If  the
              replace-str  argument  is  missing, the effect is the same as -I{}.  This option is
              deprecated; use -I instead.

       -L max-lines
              Używa co najwyżej max-lines niepustych linii danych  wejściowych  na  każdy  wiersz
              poleceń.  Spacje na końcu linii powodują, że jest do niej dołączana następna linia.
              Automatycznie włączana jest opcja -x.

       -l[max-lines], --max-lines[=max-lines]
              Synonim opcji -L. W przeciwieństwie do -L argument max-lines jest opcjonalny; jeśli
              nie  jest  podany to jego wartością domyślną jest jeden. Opcja -l jest przestarzała
              ponieważ standard POSIX wymienia -L zamiast niej.

       -n max-args, --max-args=max-args
              Używa co najwyżej max-args argumentów na każdy wiersz poleceń. Może zostać  użytych
              mniej argumentów niż max-args, jeśli zostanie przekroczony ich rozmiar (patrz opcja
              -s), chyba że podana jest opcja -x, w którym to przypadku działanie programu  xargs
              zostanie zakończone.

       -P max-procs, --max-procs=max-procs
              Run  up  to  max-procs  processes  at a time; the default is 1.  If max-procs is 0,
              xargs will run as many processes as possible at a time.  Use the -n option  or  the
              -L  option  with  -P; otherwise chances are that only one exec will be done.  While
              xargs is running, you can send its process a SIGUSR1 signal to increase the  number
              of commands to run simultaneously, or a SIGUSR2 to decrease the number.  You cannot
              increase  it  above  an  implementation-defined  limit   (which   is   shown   with
              --show-limits).   You  cannot  decrease  it  below  1.   xargs never terminates its
              commands; when asked to decrease, it  merely  waits  for  more  than  one  existing
              command to terminate before starting another.

              Please  note  that  it  is  up  to the called processes to properly manage parallel
              access to shared resources.  For example, if more than one of them tries  to  print
              to  stdout,  the output will be produced in an indeterminate order (and very likely
              mixed up) unless the processes collaborate in some way to prevent this.  Using some
              kind  of  locking  scheme is one way to prevent such problems.  In general, using a
              locking scheme will help ensure correct output  but  reduce  performance.   If  you
              don't  want to tolerate the performance difference, simply arrange for each process
              to produce a separate output file (or otherwise use separate resources).

       -o, --open-tty
              Reopen stdin as /dev/tty in the child process before executing the  command.   This
              is useful if you want xargs to run an interactive application.

       -p, --interactive
              Prosi  użytkownika  o  potwierdzenie  przed uruchomieniem każdego wiersza poleceń i
              przeczytaniem danych  z  terminala.  Uruchamia  wiersz  poleceń  tylko  wtedy,  gdy
              odpowiedź zaczyna się od "y" lub "Y". Automatycznie włącza opcję -t.

       --process-slot-var=nazwa
              Set  the environment variable name to a unique value in each running child process.
              Values are reused once child processes exit.  This can be  used  in  a  rudimentary
              load distribution scheme, for example.

       -r, --no-run-if-empty
              Jeżeli  w  danych  ze standardowego wejścia nie znajdują się znaki inne niż spacje,
              polecenie nie jest uruchamiane. Normalnie polecenie jest  uruchamiane  jednorazowo,
              nawet gdy nie odczytano żadnych danych. Ta opcja jest rozszerzeniem GNU.

       -s max-chars, --max-chars=max-chars
              Use  at  most  max-chars  characters  per  command  line, including the command and
              initial-arguments and the terminating nulls at the ends of  the  argument  strings.
              The  largest  allowed  value is system-dependent, and is calculated as the argument
              length limit for exec, less the size  of  your  environment,  less  2048  bytes  of
              headroom.   If this value is more than 128KiB, 128Kib is used as the default value;
              otherwise,  the  default  value  is  the  maximum.   1KiB  is  1024  bytes.   xargs
              automatically adapts to tighter constraints.

       --show-limits
              Wyświetla ograniczenia na długość linii wiersza poleceń, które są ustanawiane przez
              system operacyjny, przez xargs w przypadku rozmiaru wewnętrznego bufora  lub  przez
              opcję  -s.  Aby  xargs  nie  zrobił nic poza wyświetleniem ograniczeń, jego wejście
              powinno być przekierowane  z  /dev/null  (i  być  może  powinna  być  podana  opcja
              --no-run-if-empty).

       -t, --verbose
              Wiersz  poleceń  jest  wypisywany  na  standardowe  wyjście błędów przed wykonaniem
              polecenia.

       -x, --exit
              Kończy działanie programu, jeżeli rozmiar zostanie przekroczony (patrz opcja -s).

       --help Podaje wszystkie opcje programu xargs i kończy działanie.

       --version
              Wypisuje numer wersji xargs i kończy działanie programu.

       The options --max-lines (-L, -l), --replace (-I, -i)  and --max-args  (-n)   are  mutually
       exclusive.  If  some of them are specified at the same time, then xargs will generally use
       the option specified last on the command line, i.e.,  it  will  reset  the  value  of  the
       offending  option  (given before)  to its default value.  Additionally, xargs will issue a
       warning diagnostic on stderr.  The exception to this rule is  that  the  special  max-args
       value  1 ('-n1')  is ignored after the --replace option and its aliases -I and -i, because
       it would not actually conflict.

PRZYKŁADY

       find /tmp -name core -type f -print | xargs /bin/rm -f

       Wyszukuje a następnie usuwa pliki o nazwie core w  katalogu  /tmp  i  jego  podkatalogach.
       Proszę  zauważyć,  że  będzie  to  działać  niepoprawnie  jeśli którakolwiek z nazw plików
       zawiera znaki nowej linii lub spacji.

       find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

       Wyszukuje a następnie usuwa pliki o nazwie core w  katalogu  /tmp  i  jego  podkatalogach.
       Nazwy  plików  są  przetwarzane  w  taki sposób, że nazwy plików lub katalogów zawierające
       znaki spacji lub nowej linii są poprawnie obsługiwane.

       find /tmp -depth -name core -type f -delete

       Wyszukuje a następnie usuwa pliki o nazwie core w katalogu /tmp i jego podkatalogach. Robi
       to  jednak  w  sposób  bardziej efektywny niż w poprzednim przykładzie (ponieważ nie używa
       fork(2) i exec(2), żeby uruchomić rm i nie potrzebuje dodatkowego procesu xargs).

       cut -d: -f1 < /etc/passwd | sort | xargs echo

       Tworzy zwięzła listę wszystkich użytkowników systemu.

KOD ZAKOŃCZENIA

       xargs zwraca następujące kody wyjścia:

              0      if it succeeds

              123    if any invocation of the command exited with status 1-125

              124    if the command exited with status 255

              125    if the command is killed by a signal

              126    if the command cannot be run

              127    if the command is not found

              1      if some other error occurred.

       Kody zakończenia większe od 128 są używane przez powłokę do wskazania, że  program  został
       zabity przez sygnał.

ZGODNOŚĆ ZE STANDARDAMI

       Według  stanu  na  wersję 4.2.9  programu  GNU xargs, domyślnie xargs nie używa logicznego
       znacznika końca pliku. Standard POSIX (IEEE Std 1003.1, edycja 2004) na to pozwala.

       Opcje -l i -i pojawiają się w wersji standardu POSIX z roku 1997, ale brak ich w wersji  z
       roku 2004. Dlatego powinno się używać zamiast nich opcji - odpowiednio - -L i -I.

       The -o option is an extension to the POSIX standard for better compatibility with BSD.

       Standard  POSIX  pozwala  implementacjom  na stosowanie limitu rozmiaru argumentów funkcji
       exec. Limit ten może wynosić  tylko  4096  bajtów,  włączając  w  to  rozmiar  środowiska.
       Przenośne  skrypty  nie mogą polegać na tym, że większa wartość jest obsługiwana. Jednakże
       nie znamy żadnej implementacji, w której to ograniczenie jest tak małe. Można  użyć  opcja
       --show-limits, aby wyświetlić ograniczenia mające zastosowanie do bieżącego systemu.

BŁĘDY

       Nie  jest  możliwe używanie xargs w sposób całkowicie bezpieczny, ponieważ zawsze istnieje
       dziura czasowa pomiędzy utworzeniem listy plików wejściowych i  użyciem  tej  listy  przez
       polecenia,  które  xargs  wykonuje. Jeśli inni użytkownicy mają dostęp do systemu, to mogą
       zmienić stan systemu plików podczas tej dziury czasowej, tak żeby wymusić  na  poleceniach
       uruchomianych  przez  xargs  wykonywanie  akcji  na  plikach,  które  nie były zamierzone.
       Bardziej szczegółową dyskusję  dotyczącą  tego  i  podobnych  problemów  można  znaleźć  w
       rozdziale "Security Considerations" dokumentacji texinfo pakietu findutils. Opcja -execdir
       polecenia find często może stanowić bardziej bezpieczną alternatywę.

       Podczas używania opcji -I każda przeczytana linia wejściowa jest  wewnętrznie  buforowana.
       Oznacza  to, że istnieje górne ograniczenie długości linii wejściowych akceptowanych przez
       xargs z opcją -I. Aby ominąć to ograniczenie można użyć opcji -s do  zwiększenia  rozmiaru
       bufora  używanego  przez  xargs  oraz  można  także  użyć  dodatkowego wywołania xargs, by
       zapewnić, że bardzo długie linie się nie pojawią. Na przykład:

       jakieśpolecenie | xargs -s 50000 echo | xargs -I '{}' -s 100000 rm '{}'

       Powyższe pierwsze wywołanie  xargs  nie  ma  ograniczenia  na  długość  linii  wejściowej,
       ponieważ   nie  używa  opcji  -i.  Drugie  wywołanie  xargs  ma  takie  ograniczenia,  ale
       zapewniliśmy, że nigdy nie wystąpi linia dłuższa niż  obsługiwana.  Nie  jest  to  idealne
       rozwiązanie.  Zamiast  tego  opcja -i nie powinna wymuszać ograniczenia na długość linii —
       dlatego też ten opis pojawia się w rozdziale BŁĘDY. Problem nie  występuje  jeśli  wejście
       pochodzi z programu find(1), ponieważ wypisuje on tylko jedną nazwę pliku w linii.

ZGŁASZANIE BŁĘDÓW

       Strona           internetowa           z           pomocą          GNU          findutils:
       <https://www.gnu.org/software/findutils/#get-help>
       O błędach tłumaczenia poinformuj przez <https://translationproject.org/team/pl.html>

       Report any other issue via the form at the GNU Savannah bug tracker:
              <https://savannah.gnu.org/bugs/?group=findutils>
       General topics about the GNU findutils package are discussed at the bug-findutils  mailing
       list:
              <https://lists.gnu.org/mailman/listinfo/bug-findutils>

PRAWA AUTORSKIE

       Copyright  ©  1990-2021 Free Software Foundation, Inc. Licencja GPLv3+: GNU GPL w wersji 3
       lub późniejszej <https://gnu.org/licenses/gpl.html>.
       Jest  to  wolne  oprogramowanie:   można   je   zmieniać   i   rozpowszechniać.   Nie   ma
       ŻADNEJ GWARANCJI, w granicach określonych przez prawo.

ZOBACZ TAKŻE

       find(1), kill(1), locate(1), updatedb(1), fork(2), execvp(3), locatedb(5), signal(7)

       Pełna dokumentacja: <https://www.gnu.org/software/findutils/xargs>
       albo dostępna lokalnie przez: info xargs

T◈UMACZENIE

       Autorami   polskiego  tłumaczenia  niniejszej  strony  podręcznika  są:  Łukasz  Kowalczyk
       <lukow@tempac.okwf.fuw.edu.pl> i Robert Luberda <robert@debian.org>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe  informacje  o  warunkach  licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres listy dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.

                                                                                         XARGS(1)