GoGPT Best VPN GoSearch

Ulubiona usługa OnWorks

xargsposix — Online w chmurze

Uruchom xargsposix w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

To jest polecenie xargsposix, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


xargs — konstruuj listy argumentów i wywoływaj narzędzie

STRESZCZENIE


xargs [−ptx] [−E eofstr] [−I repstr|−L numer|−rz numer]
[-s rozmiar] [użyteczność [argument...]]

OPIS


xargs Narzędzie utworzy wiersz poleceń składający się z użyteczność oraz argument
podane operandy, po których następuje tyle argumentów odczytywanych kolejno ze standardowego wejścia, ile wynosi
dopasuj do ograniczeń długości i liczby określonych w opcjach. The xargs narzędzie powinno
następnie wywołaj skonstruowaną linię poleceń i poczekaj na jej zakończenie. Ta sekwencja powinna
powtarzać aż do wystąpienia jednej z poniższych sytuacji:

* Na standardowym wejściu wykryto warunek końca pliku.

* Argument składający się tylko z logicznego ciągu znaków końca pliku (zobacz −E eofstr
opcja) znajduje się na standardowym wejściu po przetworzeniu cudzysłowu,
przetwarzanie i -przetwarzanie ucieczki (patrz następny akapit). Wszystkie argumenty w górę
do, ale nie włączając argumentu składającego się tylko z logicznego ciągu końca pliku
będą używane jako argumenty w konstruowanych wierszach poleceń.

* Wywołanie skonstruowanej linii poleceń zwraca kod wyjścia 255.

Aplikacja zapewni, że argumenty na standardowym wejściu zostaną oddzielone przez
niecytowany postacie, bez ucieczki znaków lub postacie. A
ciąg zerowy lub więcej niebędący cudzysłowem („””) znaki i nie- postacie mogą
cytować, umieszczając je w cudzysłowie. Ciąg zerowy lub więcej nie-
('\'') znaki i nie- znaki można cytować, umieszczając je w
postacie. Dowolny znak niecytowany można zmienić, poprzedzając go znakiem a
. Narzędzie nazwane przez użyteczność zostanie wykonany jeden lub więcej razy, aż do dnia
osiągnięto koniec pliku lub znaleziono logiczny ciąg końca pliku. Wyniki są
nieokreślony, jeśli narzędzie o nazwie by użyteczność próbuje czytać ze standardowego wejścia.

Wygenerowana długość wiersza poleceń będzie sumą rozmiaru narzędzia w bajtach
name i każdy argument traktowany jako ciąg znaków, łącznie z terminatorem bajtu zerowego dla każdego z nich
te sznurki. The xargs Narzędzie ogranicza długość wiersza poleceń w taki sposób, że gdy
wywołana zostanie linia poleceń, połączona lista argumentów i środowisk (zobacz exec członków Twojej rodziny
funkcji w objętości Interfejsy systemowe POSIX.1-2008) nie przekracza
{ARG_MAX}-2048 bajtów. W ramach tego ograniczenia, jeśli nie −rz ani -s Jest opcja
określony, domyślna długość wiersza poleceń powinna wynosić co najmniej {LINE_MAX}.

OPCJE


xargs narzędzie powinno być zgodne z woluminem Base Definitions POSIX.1-2008, Sekcja
12.2, Użyteczność Składnia Wytyczne.

Obsługiwane będą następujące opcje:

−E eofstr Zastosowanie eofstr jako logiczny ciąg końca pliku. Jeśli −E nie jest określony, to jest
nieokreślono, czy logicznym ciągiem końca pliku jest postać
('_') lub funkcja ciągu końca pliku jest wyłączona. Gdy eofstr jest wartością zerową
string, funkcja logicznego łańcucha końca pliku powinna być wyłączona oraz
znaki należy rozumieć dosłownie.

−I repstr
Tryb wstawiania: użyteczność wykonywana jest dla każdej linii logicznej ze standardowego wejścia.
Argumenty na standardowym wejściu powinny być oddzielone jedynie znakami bez znaków ucieczki
znaków, a nie przez postacie. Wszelkie niecytowane, bez ucieczki postacie
na początku każdego wiersza należy zignorować. Wynikowy argument będzie
włożona w argumenty w miejscu każdego wystąpienia repstr. Co najmniej pięć
argumenty w argumenty każdy może zawierać jedno lub więcej wystąpień repstr, Każdy
z tych skonstruowanych argumentów nie może być większy niż zdefiniowany w implementacji
limit większy lub równy 255 bajtów. Opcja −x zostaną wymuszone.

−L numer użyteczność zostanie wykonane dla każdego niepustego pola numer linie argumentów z
standardowe wejście. Ostatnie wezwanie użyteczność będzie z mniejszą liczbą linii
argumenty, jeśli jest ich mniej niż numer pozostać. Uważa się, że linia kończy się na
Pierwszy chyba że ostatnim znakiem linii jest a ; końcowy
sygnalizuje kontynuację do następnej niepustej linii włącznie.

−rz numer odwołać się użyteczność używając jak największej liczby standardowych argumentów wejściowych, aż do numer
(dodatnia liczba całkowita dziesiętna) – maksymalna liczba argumentów. Należy użyć mniejszej liczby argumentów
gdyby:

* Łączna długość wiersza poleceń przekracza rozmiar określony w pliku -s
opcja (lub {LINE_MAX}, jeśli nie ma -s opcja).

* Ostatnia iteracja ma mniej niż numer, ale nie zero, pozostałe operandy.

−str Tryb podpowiedzi: użytkownik jest pytany, czy wykonać użyteczność przy każdym wywołaniu.
Tryb śledzenia (−t) jest włączony, aby zapisać instancję polecenia do wykonania,
po którym następuje monit o błąd standardowy. Odpowiedź twierdząca odczytana z
/dev/tty wykona polecenie; w przeciwnym razie to konkretne wywołanie
użyteczność zostaną pominięte.

-s rozmiar odwołać się użyteczność używając jak największej liczby standardowych argumentów wejściowych, uzyskując a
długość linii poleceń mniejsza niż rozmiar (dodatnia dziesiętna liczba całkowita) bajtów. Mniej
argumentów należy użyć, jeżeli:

* Całkowita liczba argumentów przekracza liczbę określoną przez −rz opcja.

* Całkowita liczba linii przekracza liczbę określoną w −L opcja.

* Na standardowym wejściu napotkano już wcześniej koniec pliku rozmiar bajty są
skumulowane.

Wartości rozmiar obsługiwanych będzie co najmniej {LINE_MAX} bajtów, pod warunkiem, że
spełnione są ograniczenia określone w OPISIE. Nie należy tego rozpatrywać
błąd, jeśli wartość jest większa niż obsługiwana przez implementację lub
podano przekroczenie ograniczeń określonych w OPISIE; xargs użyje
największa wartość obsługiwana w ramach ograniczeń.

−t Włącz tryb śledzenia. Każda wygenerowana linia poleceń zostanie zapisana w standardzie
błąd tuż przed wywołaniem.

−x Zakończ, jeśli skonstruowany wiersz poleceń nie mieści się w sugerowanym lub określonym
rozmiar (patrz -s opcja powyżej).

OPERANDY


Obsługiwane będą następujące argumenty:

użyteczność Nazwa narzędzia, które ma zostać wywołane, znaleziona poprzez ścieżkę wyszukiwania za pomocą PATH
zmienna środowiskowa opisana w tomie Base Definitions w POSIX.1-2008,
Rozdział 8, Środowisko Zmienne. Jeśli użyteczność zostanie pominięty, przyjmuje się wartość domyślną
dotychczasowy przegapić pożytek. jeśli użyteczność operandy nadają dowolne nazwy wbudowane
narzędzia w Sekcja 2.14, Specjalny Wbudowany Użytkowe, wyniki są
nieokreślony.

argument Początkowa opcja lub argument wywołania użyteczność.

STDIN


Standardowym wejściem powinien być plik tekstowy. Wyniki są nieokreślone, jeśli jest to koniec pliku
warunek jest wykrywany natychmiast po ucieczce .

WEJŚCIE AKTA


Plik /dev/tty służy do odczytywania odpowiedzi wymaganych przez −str opcja.

ŚRODOWISKO ZMIENNE


Następujące zmienne środowiskowe mają wpływ na wykonanie xargs:

JĘZYK Podaj wartość domyślną dla zmiennych internacjonalizacji, które nie są ustawione lub
zero. (Patrz tom Definicje podstawowe POSIX.1‐2008, Sekcja 8.2,
Umiędzynarodowienie Zmienne o pierwszeństwo internacjonalizacji
zmienne używane do określania wartości kategorii ustawień regionalnych).

LC_ALL Jeśli jest ustawiony na niepustą wartość ciągu, nadpisz wartości wszystkich pozostałych
zmienne internacjonalizacji.

LC_COLLATE
Określ lokalizację dla zachowania zakresów, klas równoważności i multi-
elementy porównywania znaków używane w rozszerzonym wyrażeniu regularnym zdefiniowanym dla
dotychczasowy tak wyr słowo kluczowe regionalne w LC_MESSAGES kategorii.

LC_CTYPE Określ lokalizację dla interpretacji sekwencji bajtów danych tekstowych
jako znaki (na przykład jednobajtowe w przeciwieństwie do wielobajtowych znaków w
argumentów i plików wejściowych) oraz zachowanie klas znaków używanych w
rozszerzone wyrażenie regularne zdefiniowane dla tak wyr słowo kluczowe regionalne w
LC_MESSAGES kategorii.

LC_MESSAGES
Określ ustawienia regionalne używane do przetwarzania odpowiedzi twierdzących oraz używane ustawienia regionalne
wpłynąć na format i treść komunikatów diagnostycznych i monitów pisanych do
Standardowy błąd.

NLSPATH Określ lokalizację katalogów wiadomości do przetwarzania LC_MESSAGES.

PATH Określ lokalizację użyteczność, zgodnie z opisem w tomie Definicje podstawowe
POSIX.1-2008, Rozdział 8, Środowisko Zmienne.

ASYNCHRONICZNY WYDARZENIA


Domyślna.

STDOUT


Nieużywany.

STDERR


W przypadku komunikatów diagnostycznych i komunikatów diagnostycznych należy stosować błąd standardowy −t oraz −str opcje. Jeśli
−t opcja jest określona, użyteczność i do niej zostanie zapisana skonstruowana lista argumentów
błąd standardowy, ponieważ zostanie wywołany przed wywołaniem. Jeśli −str jest określony, monit
należy zapisać w następującym formacie (w ustawieniach regionalnych POSIX):

„?…”

na końcu linii wyjścia from −t.

WYDAJNOŚĆ AKTA


Brak.

ROZSZERZONY OPIS


Brak.

EXIT STATUS


Zwracane są następujące wartości wyjściowe:

0 Wszystkie wywołania użyteczność zwrócił status wyjścia zero.

1-125 Nie można utworzyć wiersza poleceń spełniającego określone wymagania, jeden lub
więcej wezwań użyteczność zwrócił niezerowy status wyjścia lub inny
Wystąpił błąd.

126 Narzędzie określone przez użyteczność został znaleziony, ale nie można go wywołać.

127 Narzędzie określone przez użyteczność nie znaleziono.

KONSEKWENCJE OF BŁĘDY


Jeśli nie można złożyć wiersza poleceń spełniającego określone wymagania, narzędzie
nie można wywołać, wywołanie narzędzia zostaje zakończone sygnałem lub
wywołanie narzędzia zakończy się ze statusem wyjścia 255, xargs narzędzie napisze a
komunikat diagnostyczny i wyjdź bez przetwarzania pozostałych danych wejściowych.

następujący działy jest informacyjny.

WNIOSEK ZASTOSOWANIE


Status wyjścia 255 pozwala na użycie narzędzia przez xargs powiedzieć xargs zakończyć, jeśli tak
wie, że dalsze wywołania przy użyciu bieżącego strumienia danych nie powiodą się. Zatem, użyteczność
powinien wyraźnie wyjście z odpowiednią wartością, aby uniknąć przypadkowego powrotu z wartością 255.

Należy pamiętać, że ponieważ dane wejściowe są analizowane jako linie, znaki oddzielają argumenty i
, , a znaki cudzysłowu są używane do cytowania, jeśli xargs is
używany do łączenia danych wyjściowych poleceń takich jak odnaleźć reż −drukuj or ls w polecenia bycia
wykonane, prawdopodobne są nieoczekiwane wyniki, jeśli jakiekolwiek nazwy plików zawierają , , Lub
cytując znaki. Można to rozwiązać, używając find do wywołania skryptu, który konwertuje każdy z nich
plik znaleziony w cytowanym ciągu, który jest następnie przesyłany do xargs, ale w większości przypadków tak jest
lepiej po prostu mieć odnaleźć wykonaj agregację argumentów, używając −wykon z „+”
terminator zamiast ';'. Należy pamiętać, że zasady cytowania stosowane przez xargs nie są takie same jak
w skorupce. Nie ujednolicono ich tutaj, ponieważ istniejące aplikacje zależą od
aktualne zasady. Łatwa (ale nieefektywna) metoda, której można użyć do transformacji danych wejściowych
składający się z jednego argumentu w każdym wierszu w formie cudzysłowu xargs poprawnie interpretuje
poprzedzać każde nie- znak z A . Bardziej wydajne alternatywy
pokazano w przykładzie 2 i przykładzie 5 poniżej.

W przypadku implementacji z dużą wartością dla {ARG_MAX} xargs może generować wiersze poleceń
dłużej niż {LINE_MAX}. W przypadku wywoływania narzędzi nie stanowi to problemu. Jeśli xargs is
używany do tworzenia pliku tekstowego, użytkownicy powinni jawnie ustawić maksymalną linię poleceń
długość z -s opcja.

komenda, env, miło, noup, czas, xargs określono narzędzia do użycia wyjścia
kod 127, jeśli wystąpi błąd, aby aplikacje mogły odróżnić „nie udało się znaleźć”
Utility'' z ``wywołanego narzędzia zakończyło się ze wskazaniem błędu''. Wartość 127 wynosiła
wybrany, ponieważ nie jest powszechnie używany w innych znaczeniach; większość mediów używa małych wartości
dla "normalnych warunków błędu", a wartości powyżej 128 mogą być mylone z zakończeniem
z powodu odebrania sygnału. Wartość 126 została wybrana w podobny sposób, aby wskazać, że
narzędzie można znaleźć, ale nie można go wywołać. Niektóre skrypty generują znaczący błąd
wiadomości różnicujące przypadki 126 i 127. Rozróżnienie między kodami wyjścia 126 i
127 opiera się na praktyce KornShell, która używa 127, gdy wszystkie próby: exec użyteczność
zawieść z [ENOENT], i używa 126, gdy jakakolwiek próba exec narzędzie nie działa w przypadku innych
powód.

PRZYKŁADY


1. Następujące polecenie łączy dane wyjściowe poleceń w nawiasach (minus
znaków) w jedną linię, która jest następnie dołączana do pliku log. To
zakłada, że ​​ekspansja „0 USD$*” nie zawiera żadnych Lub
postacie.

(nazwa logowania; data; printf „'%s'\n$0 $*") | xargs −E "" >>log

2. Wywołuje się następujące polecenie diff z kolejnymi parami oryginalnie wpisanych argumentów
jako argumenty wiersza poleceń. Zakłada, że ​​nie ma żadnych osadzonych znaki w
elementy oryginalnej listy argumentów.

printf „%s\n$@” | sed 's/[^[:alnum:]]/\\&/g' |
xargs −E "" −rz 2 −x diff

3. W poniższych poleceniach użytkownik jest pytany, które pliki znajdują się w bieżącym katalogu
(z wyłączeniem plików dot) mają być archiwizowane. Pliki są archiwizowane w łuk; a, jeden na
czas lub b, wiele na raz. Polecenia zakładają, że nazwy plików nie zawierają ,
, , lub znaki cudzysłowu.

a. ls | xargs −E "" −str −L 1 ar −r łuk

B. jest | xargs −E "" −p −L 1 | xargs −E "" ar -r łuk

4. Wywołuje się następujące polecenie polecenie 1 jeden lub więcej razy z wieloma argumentami,
zatrzymanie, jeśli wywołanie polecenie 1 ma niezerowy status wyjścia.

xargs −E "" sh −c „polecenie 1 „$@” || wyjście 255 " sh < wejście_xargs

5. W systemach zgodnych z XSI następujące polecenie przenosi wszystkie pliki z katalogu $1 do
katalog $2i powtarza każde polecenie ruchu tuż przed jego wykonaniem. Zakłada, że ​​nie
nazwy plików zawierają postacie i to też nie $1 ani $2 zawiera
sekwencja „{}”.

ls −A „1 USD” | sed -tj 's/"/"\\""/g' -tj 'S/.*/"&"/' |
xargs −E "" −I {} −t mv „1 USD”/{} „2 USD”/{}

RACJONALNE UZASADNIENIE


xargs narzędzie zwykle można było znaleźć tylko w systemach opartych na Systemie V; W zestawie systemy BSD
an zastosować narzędzie, które zapewniało funkcjonalność podobną do xargs −rz numer. Listy SVID
xargs jako rozszerzenie programistyczne. Ten tom POSIX.1-2008 nie udostępnia
pogląd, że służy on wyłącznie do celów programistycznych i dlatego nie jest opcjonalny.

Klasyczne zastosowanie xargs użyteczność jest połączona z odnaleźć użyteczność do
zmniejszyć liczbę uruchamianych procesów poprzez uproszczone użycie odnaleźć −wykon połączenie.
xargs Narzędzie służy również do egzekwowania górnego limitu pamięci wymaganej do uruchomienia pliku
proces. Mając to na uwadze, w niniejszym tomie POSIX.1-2008 wybrano jedynie minimum
wymagane funkcje.

Chociaż status wyjścia 255 jest w większości wypadkiem historycznych wdrożeń, to jednak
umożliwia korzystanie z narzędzia przez xargs powiedzieć xargs zakończyć, jeśli nie będzie wiedział nic więcej
wywołania przy użyciu bieżącego strumienia danych powiodą się. Dowolny niezerowy status wyjścia z a
użyteczność mieści się w zakresie 1-125, gdy xargs wychodzi. Nie ma informacji o tym, w jaki sposób
gromadzone są różne niezerowe kody stanu wyjścia z mediów xargs. Wartość może być
dodanie wszystkich kodów, ich największej wartości, ostatniego otrzymanego lub pojedynczej wartości
takie jak 1. Ponieważ żaden algorytm nie jest prawdopodobnie lepszy od innych, a wiele z nich
standardowe narzędzia mówią niewiele więcej (przenośnie) niż „zaliczony/niezaliczony”, żaden nowy algorytm nie był dostępny
wynaleziony.

Kilka innych xargs opcje zostały usunięte, ponieważ istnieją już proste alternatywy
w tym tomie POSIX.1-2008. Na przykład -tj repstr opcja może być równie skuteczna
wykonywane przy użyciu powłoki dla pętla. Od xargs dzwoni exec funkcja z każdą linią wejściową,
dotychczasowy -tj Opcja zwykle nie wykorzystuje możliwości grupowania xargs.

Wymóg, że xargs nigdy nie tworzy wierszy poleceń, w wyniku których wywołanie użyteczność is
w ciągu 2048 bajtów od trafienia w POSIX exec Ograniczenia {ARG_MAX} mają na celu zagwarantowanie
że wywoływane narzędzie ma miejsce na modyfikację swoich zmiennych środowiskowych i wiersza poleceń
argumentów i nadal móc wywołać inne narzędzie. Pamiętaj, że minimalna wartość {ARG_MAX}
dozwolona przez objętość interfejsów systemowych POSIX.1-2008 wynosi 4096 bajtów, a minimalna
wartość dozwolona w tym woluminie POSIX.1-2008 to 2048 bajtów; dlatego 2048 bajtów
różnica wydaje się rozsądna. Zauważ jednak, że xargs może nigdy nie być w stanie wywołać a
użyteczność, jeśli środowisko przeszło do xargs prawie wykorzystuje {ARG_MAX} bajtów.

Wersja xargs wymagane przez ten tom POSIX.1-2008, należy poczekać na
zakończenie wywołanego polecenia przed wywołaniem innego polecenia. Stało się tak, ponieważ
posługiwanie się skryptami historycznymi xargs zakładano wykonanie sekwencyjne. Wdrożenia chcące
zapewniają równoległe działanie wywoływanych narzędzi, zachęcamy do dodania opcji
umożliwiając równoległe wywoływanie, ale nadal powinien czekać na zakończenie wszystkich dzieci
zanim xargs kończy się normalnie.

-tj opcję tę pominięto w standardzie ISO POSIX-2:1993 w przekonaniu, że eofstr
argument-opcji został rozpoznany tylko wtedy, gdy znajdował się w osobnym wierszu i przed cudzysłowem i
przeprowadzono przetwarzanie ucieczki i że przeprowadzono jedynie logiczne przetwarzanie końca pliku
włączone, jeśli a -tj opcja została określona. W takim razie proste sed skrypt, do którego można się zastosować
zduplikuj -tj funkcjonalność. Dalsze dochodzenie wykazało, że:

* Logiczny ciąg końca pliku został sprawdzony po przetworzeniu cudzysłowu i ucieczki,
zrobienie sed skrypt zapewniający równoważną funkcjonalność znacznie trudniejszy
pisać.

* Domyślnie przeprowadzano logiczne przetwarzanie końca pliku za pomocą pliku jako
logiczny ciąg końca pliku.

Aby skorygować to nieporozumienie, −E eofstr opcja została przejęta z X/Open
Przewodnik po przenośności. Użytkownicy powinni pamiętać, że opis −E pasujące opcje
dokumentacja historyczna dot -tj opcji (która nie została przyjęta, ponieważ tak nie było
wspierają wytyczne dotyczące składni narzędzi), mówiąc, że if eofstr jest ciągiem zerowym,
logiczne przetwarzanie końca pliku jest wyłączone. Historyczne wdrożenia xargs faktycznie
nie wyłączyło logicznego przetwarzania końca pliku; potraktowali argument zerowy znaleziony w pliku
wejście jako logiczny ciąg końca pliku. (Numer ciąg argument można wygenerować za pomocą
cudzysłowy pojedyncze lub podwójne ('' or ""). Ponieważ zachowanie to nie zostało udokumentowane historycznie,
jest to uważane za błąd.

−I, −L, −rz opcje wzajemnie się wykluczają. Niektóre implementacje używają tego ostatniego
określony, jeśli w wierszu poleceń podano więcej niż jeden; inne wdrożenia traktują
kombinacje opcji na różne sposoby.

PRZYSZŁOŚĆ KIERUNKI


Brak.

Korzystaj z xargsposix online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad




×
reklama
❤️Zrób zakupy, zarezerwuj lub kup tutaj — bezpłatnie, co pomaga utrzymać bezpłatne usługi.