.\" -*- coding: UTF-8 -*-
.\" -*- nroff -*-
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH XARGS 1   
.SH NAZWA
xargs \- wykonaj polecenie z argumentami pobranymi ze standardowego wejścia
.SH SKŁADNIA
\fBxargs\fP
.nh
[\fIoptions\fP] [\fIcommand\fP [\fIinitial\-arguments\fP]]
.hy
.SH OPIS
Ta strona opisuje wersję GNU programu \fBxargs\fP. \fBxargs\fP 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 \fIpolecenie\fP (domyślnie \fI/bin/echo\fP)
jeden lub więcej razy z \fIargumentami\-początkowymi\fP, po których następują
argumenty przeczytane ze standardowego wejścia. Puste linie ze standardowego
wejścia są ignorowane.
.P
The command line for \fIcommand\fP is built up until it reaches a
system\-defined limit (unless the \fB\-n\fP and \fB\-L\fP options are used).  The
specified \fIcommand\fP 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 \fIcommand\fP 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 \fB\-P\fP option.
.P
Ponieważ nazwy plików pod Uniksem mogą zawierać spacje i znaki nowej linii,
to domyślne zachowanie jest często problematyczne: \fBxargs\fP niepoprawnie
przetwarza pliki zawierające powyższe znaki. W takich sytuacjach lepiej jest
używać opcji \fB\-0\fP, co zapobiega takim problemom. Podczas używania tej opcji
należy się upewnić, że program, który przetwarza wejście dla \fBxargs\fP także
używa znaku null jako separatora. Jeśli na przykład tym programem jest GNU
\fBfind\fP, to odpowiednia opcja to \fB\-print0\fP.
.P
Jeśli uruchomione polecenia zakończy się z kodem 255, to \fBxargs\fP
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.
.SH OPCJE
.TP 
.PD
\fB\-0, \-\-null\fP
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 \fBfind\fP uruchomionego z opcją
\fB\-print0\fP.

.TP 
.PD
\fB\-a \fP\fIfile\fP\fB, \-\-arg\-file=\fP\fIfile\fP
Czyta elementy z podanego pliku \fIfile\fP 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 \fI/dev/null\fP.

.TP 
.PD
\fB\-\-delimiter=\fP\fIdelim\fP\fB, \-d\fP\fI delim\fP
Input items are terminated by the specified character.  The specified
delimiter may be a single character, a C\-style character escape such as
\fB\en\fP, or an octal or hexadecimal escape code.  Octal and hexadecimal
escape codes are understood as for the \fBprintf\fP 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 \fB\-d\fP 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 \fB\-\-null\fP where this is possible.

.TP 
\fB\-E\fP\fI eof\-str\fP
Nadaje łańcuchowi końca pliku wartość \fIeof\-str\fP. 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 \fB\-E\fP, ani \fB\-e\fP, to łańcuch końca pliku
nie jest używany.
.TP 
.PD
\fB\-e\fP[\fIeof\-str\fP], \fB\-\-eof\fP[\fI=eof\-str\fP]
Opcja jest synonimem opcji \fB\-E\fP. Należy zamiast niej używać opcji \fB\-E\fP,
ponieważ jest zgodna z POSIX\-em, podczas gdy ta opcja \(em nie jest. Jeśli
pominięto \fIeof\-str\fP, to łańcuch końca pliku nie jest używany. Jeśli nie
podano ani opcji \fB\-E\fP, ani opcji \fB\-e\fP, to łańcuch końca pliku nie jest
używany.
.TP 
\fB\-I\fP\fI replace\-str\fP
Zastępuje wszystkie wystąpienia \fIreplace\-str\fP w \fIpoczątkowych\-argumentach\fP
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 \fB\-x\fP oraz \fB\-L\fP \fI1\fP.
.TP 
.PD
\fB\-i\fP[\fIreplace\-str\fP], \fB\-\-replace\fP[\fI=replace\-str\fP]
This option is a synonym for \fB\-I\fP\fIreplace\-str\fP if \fIreplace\-str\fP is
specified.  If the \fIreplace\-str\fP argument is missing, the effect is the
same as \fB\-I\fP{}.  This option is deprecated; use \fB\-I\fP instead.
.TP 
\fB\-L\fP\fI max\-lines\fP
Używa co najwyżej \fImax\-lines\fP 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 \fB\-x\fP.
.TP 
.PD
\fB\-l\fP[\fImax\-lines\fP], \fB\-\-max\-lines\fP[=\fImax\-lines\fP]
Synonim opcji \fB\-L\fP. W przeciwieństwie do \fB\-L\fP argument \fImax\-lines\fP jest
opcjonalny; jeśli nie jest podany to jego wartością domyślną jest
jeden. Opcja \fB\-l\fP jest przestarzała ponieważ standard POSIX wymienia \fB\-L\fP
zamiast niej.
.TP 
.PD
\fB\-n\fP\fI max\-args\fP\fB, \fP\fB\-\-max\-args\fP=\fImax\-args\fP
Używa co najwyżej \fImax\-args\fP argumentów na każdy wiersz poleceń. Może
zostać użytych mniej argumentów niż \fImax\-args\fP, jeśli zostanie przekroczony
ich rozmiar (patrz opcja \fB\-s\fP), chyba że podana jest opcja \fB\-x\fP, w którym
to przypadku \fBdziałanie programu xargs zostanie zakończone\fP.
.TP 
.PD
\fB\-P\fP\fI max\-procs\fP, \fB\-\-max\-procs\fP=\fImax\-procs\fP
Run up to \fImax\-procs\fP processes at a time; the default is 1.  If
\fImax\-procs\fP is 0, \fBxargs\fP will run as many processes as possible at a
time.  Use the \fB\-n\fP option or the \fB\-L\fP option with \fB\-P\fP; otherwise
chances are that only one exec will be done.  While \fBxargs\fP 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.  \fBxargs\fP never terminates
its commands; when asked to decrease, it merely waits for more than one
existing command to terminate before starting another.

\fBPlease note\fP 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).
.TP 
.PD
\fB\-o, \-\-open\-tty\fP
Reopen stdin as \fI/dev/tty\fP in the child process before executing the
command.  This is useful if you want \fBxargs\fP to run an interactive
application.
.TP 
.PD
\fB\-p, \-\-interactive\fP
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ę
\fB\-t\fP.
.TP 
.PD
\fB\-\-process\-slot\-var\fP=\fInazwa\fP
Set the environment variable \fIname\fP 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.
.TP 
.PD
\fB\-r, \-\-no\-run\-if\-empty\fP
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.
.TP 
.PD
\fB\-s\fP\fI max\-chars\fP, \fB\-\-max\-chars\fP\fI=max\-chars\fP
Use at most \fImax\-chars\fP 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.  \fBxargs\fP automatically adapts to tighter constraints.
.TP 
\fB\-\-show\-limits\fP
Wyświetla ograniczenia na długość linii wiersza poleceń, które są
ustanawiane przez system operacyjny, przez \fBxargs\fP w przypadku rozmiaru
wewnętrznego bufora lub przez opcję \fB\-s\fP. Aby \fBxargs\fP nie zrobił nic poza
wyświetleniem ograniczeń, jego wejście powinno być przekierowane z
\fI/dev/null\fP (i być może powinna być podana opcja \fB\-\-no\-run\-if\-empty\fP).
.TP 
\fB\-t, \-\-verbose\fP
Wiersz poleceń jest wypisywany na standardowe wyjście błędów przed
wykonaniem polecenia.
.TP 
.PD
\fB\-x, \-\-exit\fP
Kończy działanie programu, jeżeli rozmiar zostanie przekroczony (patrz opcja
\fB\-s\fP).
.TP 
\fB\-\-help\fP
Podaje wszystkie opcje programu \fBxargs\fP i kończy działanie.
.TP 
\fB\-\-version\fP
Wypisuje numer wersji \fIxargs\fP i kończy działanie programu.
.SH PRZYKŁADY
.nf
\fBfind /tmp \-name core \-type f \-print | xargs /bin/rm \-f\fP

.fi
Wyszukuje a następnie usuwa pliki o nazwie \fBcore\fP w katalogu \fB/tmp\fP 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.
.P
\fBfind /tmp \-name core \-type f \-print0 | xargs \-0 /bin/rm \-f\fP

.fi
Wyszukuje a następnie usuwa pliki o nazwie \fBcore\fP w katalogu \fB/tmp\fP 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.

.P
\fBfind /tmp \-depth \-name core \-type f \-delete\fP

.fi
Wyszukuje a następnie usuwa pliki o nazwie \fBcore\fP w katalogu \fB/tmp\fP i jego
podkatalogach. Robi to jednak w sposób bardziej efektywny niż w poprzednim
przykładzie (ponieważ nie używa \fBfork\fP(2) i \fBexec\fP(2), żeby uruchomić
\fBrm\fP i nie potrzebuje dodatkowego procesu \fBxargs\fP).

.P
.nf
\fBcut \-d: \-f1 < /etc/passwd | sort | xargs echo\fP

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



.SH "KOD ZAKOŃCZENIA"
\fBxargs\fP zwraca następujące kody wyjścia:
.nf
0, gdy polecenie zakończyło się sukcesem
123, jeżeli którekolwiek wywołanie polecenia zakończyło się z kodem wyjścia 1\-125
124, jeżeli polecenie zakończyło się z kodem wyjścia 255
125, jeżeli polecenie zostało zakończone przez sygnał
126, jeżeli polecenie nie mogło być uruchomione
127, jeżeli polecenie nie zostało znalezione
1, jeżeli wystąpił inny błąd
.fi
.P
Kody zakończenia większe od 128 są używane przez powłokę do wskazania, że
program został zabity przez sygnał.
.SH "ZGODNOŚĆ ZE STANDARDAMI"
Według stanu na wersję\ 4.2.9 programu GNU xargs, domyślnie \fBxargs\fP nie
używa logicznego znacznika końca pliku. Standard POSIX (IEEE Std 1003.1,
edycja 2004) na to pozwala.
.P
Opcje \fB\-l\fP i \fB\-i\fP 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 \- \fB\-L\fP i \fB\-I\fP.
.P
The \-o option is an extension to the POSIX standard for better compatibility
with BSD.
.P
Standard POSIX pozwala implementacjom na stosowanie limitu rozmiaru
argumentów funkcji \fBexec\fP. 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
\fB\-\-show\-limits\fP, aby wyświetlić ograniczenia mające zastosowanie do
bieżącego systemu.


.SH "ZOBACZ TAKŻE"
\fBfind\fP(1), \fBlocate\fP(1), \fBlocatedb\fP(5), \fBupdatedb\fP(1), \fBfork\fP(2),
\fBexecvp\fP(3), \fBkill\fP(1), \fBsignal\fP(7),

Pełna dokumentacja dla programu \fBxargs\fP jest utrzymywana jako podręcznik
Texinfo. Jeśli programy \fBinfo\fP oraz \fBxargs\fP "są właściwie zainstalowane,
polecenie \fBinfo xargs\fP powinno udostępnić kompletny podręcznik.

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

.SH BŁĘDY
Opcja \fB\-L\fP nie jest kompatybilna z opcją\ \fB\-I\fP, choć najprawdopodobniej
powinna być.
.P
Nie jest możliwe używanie \fBxargs\fP 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 \fBxargs\fP 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 \fBxargs\fP 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 \fB\-execdir\fP polecenia \fBfind\fP często może
stanowić bardziej bezpieczną alternatywę.

Podczas używania opcji \fB\-I\fP 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 \fBxargs\fP z opcją\ \fB\-I\fP. Aby ominąć to
ograniczenie można użyć opcji \fB\-s\fP do zwiększenia rozmiaru bufora używanego
przez \fBxargs\fP oraz można także użyć dodatkowego wywołania \fBxargs\fP, by
zapewnić, że bardzo długie linie się nie pojawią. Na przykład:
.P
\fBjakieśpolecenie | xargs \-s 50000 echo | xargs \-I '{}' \-s 100000 rm '{}'\fP
.P
Powyższe pierwsze wywołanie \fBxargs\fP nie ma ograniczenia na długość linii
wejściowej, ponieważ nie używa opcji \fB\-i\fP. Drugie wywołanie \fBxargs\fP 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 \fB\-i\fP nie
powinna wymuszać ograniczenia na długość linii \(em dlatego też ten opis
pojawia się w rozdziale BŁĘDY. Problem nie występuje jeśli wejście pochodzi
z programu \fBfind\fP(1), ponieważ wypisuje on tylko jedną nazwę pliku w linii.
.P
Najlepszą drogą do zgłoszenia błędu jest użycie formularza na stronie
https://savannah.gnu.org/bugs/?group=findutils. Możliwe jest wówczas
śledzenie postępu naprawiania błędu. Pozostałe komentarze dotyczące
\fBxargs\fP(1) i ogólne, dotyczące pakietu findutils, można wysyłać na listę
dyskusyjną \fIbug\-findutils\fP. Aby się na nią zapisać, proszę wysłać e\-mail do
\fIbug\-findutils\-request@gnu.org\fP.

.SH 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
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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