GoGPT Best VPN GoSearch

OnWorks-favicon

xargsposix - Online in de cloud

Voer xargsposix uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht xargsposix die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


xargs — argumentlijsten samenstellen en hulpprogramma aanroepen

KORTE INHOUD


xargs [−ptx] [E eofstr] [ik replstr|−L aantal|-n aantal]
[s lengte van de duwkabel] [utility [argument...]]

PRODUCTBESCHRIJVING


De xargs hulpprogramma zal een opdrachtregel construeren die bestaat uit de utility en argument
opgegeven operanden gevolgd door evenveel argumenten die in volgorde uit standaardinvoer worden gelezen als
passen in lengte- en aantalbeperkingen gespecificeerd door de opties. De xargs nut zal
roep vervolgens de geconstrueerde opdrachtregel aan en wacht tot deze is voltooid. Deze volgorde zal
worden herhaald totdat een van de volgende situaties zich voordoet:

* Bij standaardinvoer wordt een einde-van-bestand-conditie gedetecteerd.

* Een argument dat alleen bestaat uit de logische tekenreeks aan het einde van het bestand (zie de E eofstr
optie) wordt gevonden in standaardinvoer na verwerking van dubbele aanhalingstekens,
verwerking, en -ontsnappingsverwerking (zie volgende paragraaf). Alle argumenten op
naar, maar zonder het argument dat bestaat uit alleen de logische tekenreeks aan het einde van het bestand
zal worden gebruikt als argumenten in geconstrueerde opdrachtregels.

* Een aanroep van een geconstrueerde opdrachtregel retourneert een afsluitstatus van 255.

De toepassing moet ervoor zorgen dat argumenten in de standaardinvoer worden gescheiden door
niet geciteerd karakters, onontkoombaar karakters, of karakters. A
reeks van nul of meer niet-dubbele aanhalingstekens (''') karakters en niet- karakters kunnen
geciteerd worden door ze tussen dubbele aanhalingstekens te plaatsen. Een reeks van nul of meer niet-
('\'') karakters en niet- karakters kunnen worden geciteerd door ze in te sluiten
karakters. Elk niet-geciteerd teken kan worden geëscaped door het te laten voorafgaan door een
. Het hulpprogramma genaamd by utility wordt één of meerdere keren uitgevoerd tot de
end-of-file is bereikt of de logische end-of-file-tekenreeks is gevonden. De resultaten zijn
niet gespecificeerd als het hulpprogramma wordt genoemd door utility probeert te lezen van de standaardinvoer.

De gegenereerde opdrachtregellengte is de som van de grootte in bytes van het hulpprogramma
naam en elk argument behandeld als tekenreeksen, inclusief een null-byte-terminator voor elk van deze
deze snaren. De xargs hulpprogramma zal de lengte van de opdrachtregel zodanig beperken dat wanneer de
opdrachtregel wordt aangeroepen, worden de gecombineerde argument- en omgevingslijsten (zie de exec familiaal
van functies in het System Interfaces-volume van POSIX.1-2008) mag niet groter zijn dan
{ARG_MAX}−2048 bytes. Binnen deze beperking, als noch de n noch s Optie is
opgegeven, moet de standaardlengte van de opdrachtregel minimaal {LINE_MAX} zijn.

OPTIES


De xargs hulpprogramma zal voldoen aan het Base Definitions-volume van POSIX.1‐2008, sectie
12.2, utility Syntaxis Richtlijnen.

De volgende opties worden ondersteund:

E eofstr Gebruik eofstr als de logische tekenreeks aan het einde van het bestand. Als E is niet gespecificeerd, het is
niet gespecificeerd of de logische tekenreeks aan het einde van het bestand de karakter
('_') of de tekenreeksmogelijkheid voor het einde van het bestand is uitgeschakeld. Wanneer eofstr is de nul
string, zal de logische end-of-file string-mogelijkheid worden uitgeschakeld en
karakters moeten letterlijk worden genomen.

ik replstr
Invoegmodus: utility wordt uitgevoerd voor elke logische regel vanaf standaardinvoer.
Argumenten in de standaardinvoer mogen alleen worden gescheiden door middel van unescapeds
karakters, niet door karakters. Elk niet-geciteerd onontsnapt karakters
aan het begin van elke regel worden genegeerd. Het resulterende argument zal zijn
ingevoegd in argumenten in plaats van elk voorkomen van replstr. Minstens vijf
argumenten in argumenten kunnen elk een of meer exemplaren van bevatten replstr. Elk
van deze geconstrueerde argumenten kan niet groter worden dan een door de implementatie gedefinieerde argumentatie
limiet groter dan of gelijk aan 255 bytes. Keuze x zal worden gedwongen.

L aantal De utility wordt uitgevoerd voor elke niet-leeg aantal argumentatielijnen uit
standaard invoer. De laatste aanroep van utility zal met minder regels zijn
argumenten indien minder dan aantal blijven. Er wordt aangenomen dat een lijn eindigt met de
Eerst tenzij het laatste teken van de regel een a is ; een achterstand
signaleert voortzetting naar de volgende niet-lege regel, inclusief.

n aantal inroepen utility met behulp van zoveel mogelijk standaardinvoerargumenten, tot aantal
(een positief decimaal geheel getal) maximum argumenten. Er zullen minder argumenten worden gebruikt
als:

* De verzamelde lengte van de opdrachtregel overschrijdt de grootte die is opgegeven door de s
optie (of {LINE_MAX} als er geen is s keuze).

* De laatste iteratie heeft minder dan aantal, maar niet nul, resterende operanden.

p Promptmodus: de gebruiker wordt gevraagd of hij wil uitvoeren utility bij elke aanroep.
Traceermodus (t) is ingeschakeld om de uit te voeren opdrachtinstantie te schrijven,
gevolgd door een prompt voor standaardfout. Een bevestigend antwoord voorgelezen
/dev/tty voert het commando uit; anders, die specifieke aanroep van
utility worden overgeslagen.

s lengte van de duwkabel inroepen utility het gebruik van zoveel mogelijk standaardinvoerargumenten, wat a oplevert
opdrachtregellengte kleiner dan lengte van de duwkabel (een positief decimaal geheel getal) bytes. Minder
argumenten worden gebruikt als:

* Het totale aantal argumenten overschrijdt het aantal dat is opgegeven door de n optie.

* Het totale aantal regels overschrijdt het aantal dat is opgegeven door de L optie.

* Einde van bestand wordt eerder aangetroffen bij standaardinvoer lengte van de duwkabel bytes zijn
geaccumuleerd.

Waarden van lengte van de duwkabel Er worden maximaal ten minste {LINE_MAX} bytes ondersteund, op voorwaarde dat
er is voldaan aan de beperkingen die zijn opgegeven in de BESCHRIJVING. Het wordt niet in overweging genomen
een fout als een waarde groter is dan de waarde die wordt ondersteund door de implementatie of
het overschrijden van de beperkingen gespecificeerd in de BESCHRIJVING wordt gegeven; xargs zal gebruiken
de grootste waarde die binnen de beperkingen wordt ondersteund.

t Traceermodus inschakelen. Elke gegenereerde opdrachtregel moet naar standaard worden geschreven
fout vlak voor de aanroep.

x Beëindig als een geconstrueerde opdrachtregel niet in het impliciete of gespecificeerde past
maat (zie de s optie hierboven).

OPERANDEN


De volgende operanden worden ondersteund:

utility De naam van het hulpprogramma dat moet worden aangeroepen, gevonden via het zoekpad met behulp van de PATH
omgevingsvariabele, beschreven in het Base Definitions-volume van POSIX.1-2008,
Hoofdstuk 8, Milieu Variabelen. Indien utility wordt weggelaten, is de standaardwaarde
the echo nut. Als de utility operand noemt een van de speciale ingebouwde
hulpprogramma's in sectie 2.14, Speciaal Ingebouwd Nutsbedrijven, de resultaten zijn
ongedefinieerd.

argument Een initiële optie of operand voor het aanroepen van utility.

STDIN


De standaardinvoer is een tekstbestand. De resultaten zijn niet gespecificeerd als het einde van het bestand is
toestand wordt onmiddellijk na een ontsnapping gedetecteerd .

INVOER FILES


Het bestand /dev/tty worden gebruikt om de antwoorden te lezen die vereist zijn door de p optie.

MILIEU VARIABELEN


De volgende omgevingsvariabelen zijn van invloed op de uitvoering van: xargs:

TAAL Geef een standaardwaarde op voor de internationaliseringsvariabelen die niet zijn ingesteld of
nul. (Zie het volume Basisdefinities van POSIX.1‐2008, sectie 8.2,
internationalisering Variabelen voor de prioriteit van internationalisering
variabelen die worden gebruikt om de waarden van landinstellingen te bepalen.)

LC_ALL Indien ingesteld op een niet-lege tekenreekswaarde, overschrijf dan de waarden van alle andere
internationaliseringsvariabelen.

LC_COLLATE
Bepaal de landinstelling voor het gedrag van bereiken, equivalentieklassen en multi-
elementen voor het verzamelen van tekens die worden gebruikt in de uitgebreide reguliere expressie die is gedefinieerd voor
the jaexpr locale trefwoord in de LC_MESSAGES categorie.

LC_CTYPE Bepaal de landinstelling voor de interpretatie van reeksen bytes tekstgegevens
als tekens (bijvoorbeeld single-byte in plaats van multi-byte tekens in
argumenten en invoerbestanden) en het gedrag van tekenklassen die worden gebruikt in de
uitgebreide reguliere expressie gedefinieerd voor de jaexpr locale trefwoord in de
LC_MESSAGES categorie.

LC_MESSAGES
Bepaal de landinstelling die wordt gebruikt om bevestigende antwoorden te verwerken, en de landinstelling die wordt gebruikt
invloed hebben op de indeling en inhoud van diagnostische berichten en prompts waarnaar wordt geschreven
standaardfout.

NLSPAT Bepaal de locatie van berichtencatalogi voor de verwerking van: LC_MESSAGES.

PATH Bepaal de locatie van utility, zoals beschreven in het deel Base Definitions
van POSIX.1-2008, Hoofdstuk 8, Milieu Variabelen.

ASYNCHROON EVENEMENTEN


Standaard.

STDOUT


Niet gebruikt.

STDERR


De standaardfout wordt gebruikt voor diagnostische berichten en de t en p opties. Als de
t optie is opgegeven, de utility en er zal naar de samengestelde argumentenlijst worden geschreven
standaardfout, zoals deze zal worden aangeroepen, voorafgaand aan de aanroep. Als p is opgegeven, een prompt
van het volgende formaat worden geschreven (in de POSIX-locale):

"?..."

aan het einde van de regel van de uitvoer van t.

OUTPUT FILES


Geen.

UITGEBREID PRODUCTBESCHRIJVING


Geen.

EXIT STATUS


De volgende exit-waarden worden geretourneerd:

0 Alle aanroepingen van utility heeft de uitgangsstatus nul geretourneerd.

1‐125 Er kon geen opdrachtregel worden samengesteld die aan de gespecificeerde vereisten voldoet, één of
meer aanroepingen van utility heeft een exit-status die niet nul is, of een andere geretourneerd
fout opgetreden.

126 Het hulpprogramma gespecificeerd door utility gevonden, maar kon niet worden ingeroepen.

127 Het hulpprogramma gespecificeerd door utility kon niet gevonden worden.

GEVOLGEN OF FOUTEN


Als er geen opdrachtregel kan worden samengesteld die aan de opgegeven vereisten voldoet, wordt het hulpprogramma
kan niet worden aangeroepen, een aanroep van het hulpprogramma wordt beëindigd door een signaal, of een
aanroep van het hulpprogramma verlaat met exit-status 255, de xargs hulpprogramma schrijft a
diagnostisch bericht en sluit af zonder de resterende invoer te verwerken.

De volgend secties zijn informatief.

TOEPASSING GEBRUIK


De afsluitstatus 255 staat toe dat een hulpprogramma wordt gebruikt door xargs vertellen xargs beëindigen als dat het geval is
weet dat geen verdere aanroepen met behulp van de huidige datastroom zullen slagen. Dus, utility
expliciet moeten doen afrit met een passende waarde om te voorkomen dat u per ongeluk terugkeert met 255.

Houd er rekening mee dat, aangezien invoer als regels wordt geparseerd, karakters scheiden argumenten, en
, , en dubbele aanhalingstekens worden gebruikt voor aanhalingstekens, if xargs is
gebruikt om de uitvoer van opdrachten zoals te bundelen vinden dir −afdrukken or ls in commando's om te zijn
uitgevoerd, zijn onverwachte resultaten waarschijnlijk als bestandsnamen , , of
karakters citeren. Dit kan worden opgelost door find te gebruiken om een ​​script aan te roepen dat elk bestand converteert
bestand gevonden in een tekenreeks tussen aanhalingstekens waarnaar vervolgens wordt doorgesluisd xargs, maar in de meeste gevallen is dat wel zo
liever gewoon hebben vinden voer de argumentaggregatie zelf uit met behulp van exec met een '+'
terminator in plaats van ';'. Houd er rekening mee dat de citatenregels die worden gebruikt door xargs zijn niet hetzelfde als
in de schaal. Ze zijn hier niet consistent gemaakt omdat bestaande toepassingen afhankelijk zijn van
de huidige regels. Een gemakkelijke (maar inefficiënte) methode die kan worden gebruikt om input te transformeren
bestaande uit één argument per regel in een tussen aanhalingstekens geplaatste vorm xargs correct interpreteert is
voorafgaan aan elke niet- karakter met een . Efficiëntere alternatieven
worden getoond in Voorbeeld 2 en Voorbeeld 5 hieronder.

Bij implementaties met een grote waarde voor {ARG_MAX}, xargs kan opdrachtregels produceren
langer dan {LINE_MAX}. Voor het aanroepen van nutsvoorzieningen is dit geen probleem. Als xargs is
wordt gebruikt om een ​​tekstbestand te maken, moeten gebruikers expliciet de maximale opdrachtregel instellen
lengte met de s optie.

De commando, env, mooi, nee, Time toen xargs hulpprogramma's zijn gespecificeerd om exit . te gebruiken
code 127 als er een fout optreedt zodat toepassingen kunnen onderscheiden ``het niet vinden van een'
utility'' van ``aangeroepen hulpprogramma afgesloten met een foutindicatie''. De waarde 127 was
gekozen omdat het niet vaak wordt gebruikt voor andere betekenissen; de meeste hulpprogramma's gebruiken kleine waarden
voor ``normale foutcondities'' en de waarden boven 128 kunnen worden verward met beëindiging
vanwege ontvangst van een signaal. De waarde 126 werd op een vergelijkbare manier gekozen om aan te geven dat:
het hulpprogramma kan worden gevonden, maar niet worden aangeroepen. Sommige scripts produceren betekenisvolle fouten
berichten die de 126 en 127 gevallen onderscheiden. Het onderscheid tussen exitcodes 126 en
127 is gebaseerd op KornShell-praktijk die 127 gebruikt wanneer alle pogingen om exec het hulpprogramma
mislukken met [ENOENT], en gebruikt 126 wanneer een poging om exec het hulpprogramma mislukt voor een ander
reden.

Voorbeelden


1. De volgende opdracht combineert de uitvoer van de opdrachten tussen haakjes (minus de
tekens) op één regel, die vervolgens wordt toegevoegd aan het bestandslogboek. Het
gaat ervan uit dat de uitbreiding van "$0$*" bevat geen enkele of
tekens.

(lognaam; datum; printf "'%s'\n$0 $*") | xargs E "" >>loggen

2. De volgende opdracht wordt aangeroepen diff met opeenvolgende paren argumenten die oorspronkelijk zijn getypt
als opdrachtregelargumenten. Er wordt aangenomen dat er geen embedded zijn karakters erin
de elementen van de oorspronkelijke argumentenlijst.

printf "%s\n$@" | dorst 's/[^[:alnum:]]/\\&/g' |
xargs E "" n 2 x diff

3. In de volgende opdrachten wordt de gebruiker gevraagd welke bestanden zich in de huidige map bevinden
(exclusief dotfiles) moeten worden gearchiveerd. De bestanden worden gearchiveerd in boog; a, één voor één
tijd of b, veel tegelijk. De opdrachten gaan ervan uit dat er geen bestandsnamen zijn ,
, , , of dubbele aanhalingstekens.

a. ls | xargs E "" p L 1 ar r boog

B. ls | xargs −E "" −p −L 1 | xargs −E "" ar −r boog

4. De volgende opdracht wordt aangeroepen command1 een of meerdere keren met meerdere argumenten,
stoppen als een aanroep van command1 heeft een niet-nul exit-status.

xargs E "" sh c 'opdracht1 "$@" || afrit 255 ' sh < xargs_invoer

5. Op XSI-conforme systemen verplaatst de volgende opdracht alle bestanden uit de map $1 naar
directory $2, en echoot elk bewegingscommando vlak voordat het wordt uitgevoerd. Het veronderstelt nee
bestandsnamen bevatten karakters en dat ook niet $1 noch $2 bevat de
volgorde "{}".

ls A '$ 1' | dorst e 's/"/"\\""/g' e 'S/.*/"&"/' |
xargs E "" ik {} t mv "$1"/{} "$2"/{}

BEWEEGREDENEN


De xargs hulpprogramma werd meestal alleen gevonden in System V-gebaseerde systemen; BSD-systemen inbegrepen
an dit toepassen hulpprogramma dat functionaliteit bood die vergelijkbaar was met xargs n aantal. De SVID-lijsten
xargs als een uitbreiding voor softwareontwikkeling. Dit deel van POSIX.1-2008 deelt niet de
van mening dat het alleen voor ontwikkeling wordt gebruikt en daarom niet optioneel is.

De klassieke toepassing van de xargs hulpprogramma is in combinatie met de vinden nut aan
het aantal processen verminderen dat wordt gelanceerd door een simplistisch gebruik van de vinden exec combinatie.
De xargs Het hulpprogramma wordt ook gebruikt om een ​​bovenlimiet op te leggen aan het geheugen dat nodig is om een
proces. Met deze basis in gedachten selecteerde dit deel van POSIX.1-2008 slechts het minimale
vereiste functies.

Hoewel de 255-exitstatus grotendeels een toeval is van historische implementaties, is dit wel het geval
staat toe dat een hulpprogramma wordt gebruikt door xargs vertellen xargs te beëindigen als hij niet verder weet
aanroepen met behulp van de huidige datastroom zullen slagen. Elke niet-nul exitstatus van a
nut valt in het bereik van 1-125 wanneer xargs uitgangen. Er wordt niet vermeld hoe de
verschillende niet-nul statuscodes voor het afsluiten van nutsvoorzieningen worden verzameld door xargs. De waarde zou kunnen zijn
de toevoeging van alle codes, hun hoogste waarde, de laatst ontvangen code of een enkele waarde
zoals 1. Aangezien geen enkel algoritme aantoonbaar beter is dan de andere, en aangezien veel van de
standaardhulpprogramma's zeggen weinig meer (draagbaar) dan ``pass/fail'', geen nieuw algoritme
uitgevonden.

Verschillende andere xargs opties zijn verwijderd omdat er binnenin al eenvoudige alternatieven bestaan
dit deel van POSIX.1-2008. Bijvoorbeeld de i replstr optie kan net zo efficiënt zijn
uitgevoerd met behulp van een schaal voor lus. Sinds xargs belt een exec functie bij elke invoerregel,
the i optie maakt doorgaans geen gebruik van de groeperingsmogelijkheden van xargs.

De eis dat: xargs produceert nooit opdrachtregels zodanig dat de aanroep van utility is
binnen 2048 bytes na het raken van de POSIX exec Beperkingen van {ARG_MAX} zijn bedoeld om te garanderen
dat het aangeroepen hulpprogramma ruimte heeft om de omgevingsvariabelen en de opdrachtregel te wijzigen
argumenten en toch een ander hulpprogramma kunnen aanroepen. Houd er rekening mee dat het minimum {ARG_MAX}
toegestaan ​​door het systeeminterfacevolume van POSIX.1-2008 is 4096 bytes en het minimum
de toegestane waarde voor dit volume van POSIX.1-2008 is 2048 bytes; daarom de 2048 bytes
verschil lijkt redelijk. Houd er echter rekening mee dat xargs kan nooit een beroep doen op een
nut als de omgeving erin zou overgaan xargs komt dicht in de buurt van het gebruik van {ARG_MAX} bytes.

De versie van xargs vereist door dit volume van POSIX.1-2008 is vereist om te wachten op de
voltooiing van het aangeroepen commando voordat een ander commando wordt aangeroepen. Dit werd gedaan omdat
historische scripts gebruiken xargs veronderstelde opeenvolgende uitvoering. Implementaties willen
parallelle werking van de aangeroepen hulpprogramma's bieden, worden aangemoedigd om een ​​optie toe te voegen
waardoor parallelle aanroep mogelijk is, maar er moet nog steeds worden gewacht op de beëindiging van alle kinderen
vaardigheden xargs eindigt normaal.

De e optie werd weggelaten uit de ISO POSIX-2:1993-standaard in de overtuiging dat de eofstr
optie-argument werd alleen herkend als het op zichzelf stond en vóór citaat en
escape-verwerking werd uitgevoerd, en dat de logische end-of-file-verwerking alleen plaatsvond
ingeschakeld als een e optie was opgegeven. In dat geval een simpele dorst script zou kunnen worden gebruikt
dupliceer de e functionaliteit. Uit verder onderzoek bleek dat:

* De logische tekenreeks aan het einde van het bestand werd gecontroleerd na verwerking van aanhalingstekens en escapes,
een maken dorst script dat gelijkwaardige functionaliteit bood, veel moeilijker
schrijven.

* De standaardinstelling was het uitvoeren van logische einde-bestandsverwerking met een als de
logische tekenreeks aan het einde van het bestand.

Om dit misverstand recht te zetten, heeft de E eofstr optie is overgenomen van de X/Open
Gids voor draagbaarheid. Gebruikers moeten er rekening mee houden dat de beschrijving van de E optie komt overeen
historische documentatie van de e optie (die niet werd aangenomen omdat dat niet het geval was).
ondersteunen de richtlijnen voor de syntaxis van nutsvoorzieningen), door te zeggen dat if eofstr is de nulreeks,
logische einde-van-bestand-verwerking is uitgeschakeld. Historische implementaties van xargs werkelijk
heeft de logische einde-van-bestand-verwerking niet uitgeschakeld; ze behandelden een nulargument gevonden in de
invoer als een logische tekenreeks aan het einde van het bestand. (Een nul snaar argument kan worden gegenereerd met behulp van
enkele of dubbele aanhalingstekens ('' or ""). Omdat dit gedrag niet historisch gedocumenteerd is,
het wordt beschouwd als een bug.

De ik, Len n opties sluiten elkaar wederzijds uit. Sommige implementaties gebruiken de laatste
gespecificeerd als er meer dan één wordt opgegeven op een opdrachtregel; andere implementaties behandelen
combinaties van de opties op verschillende manieren.

TOEKOMST ROUTEBESCHRIJVING


Geen.

Gebruik xargsposix online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad




×
advertentie
❤️Koop, boek of koop hier — het is gratis, en zo blijven onze diensten gratis.