xargs(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= xargs(1) = == NAMN == xargs - bygg och exekvera kommandorader från standard in == SYNOPSIS == <pre> xargs [flaggor] [kommando [initial-argument]] </pre> == BESKRIVNING == Denna manualsida dokumenterar GNU-versionen av '''xargs'''. '''xargs''' läser objekt från standard in, avgränsade av blanksteg (som kan skyddas med dubbla eller enkla citattecken eller ett omvänt snedstreck) eller radbrytningar, och exekverar '''kommando''' (standard är '''echo''') en eller...') |
Admin (diskussion | bidrag) |
||
| Rad 141: | Rad 141: | ||
Buggrapporter: <https://savannah.gnu.org/bugs/?group=findutils> | Buggrapporter: <https://savannah.gnu.org/bugs/?group=findutils> | ||
Denna sida hämtades från projektets Git-repo den 2 februari 2025. | Denna sida hämtades från projektets Git-repo den 2 februari 2025. | ||
= Sidslut = | |||
Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man1/xargs.1.html | |||
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på | |||
https://www.linux.se/kontaka-linux-se/ | |||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat [https://www.linux.se Linux.se] med webbhotell. | |||
[[Kategori:Linuxmanual grupp 1]] | |||
[[Kategori:Linuxmanual]] | |||
Versionen från 29 augusti 2025 kl. 17.51
xargs(1)
NAMN
xargs - bygg och exekvera kommandorader från standard in
SYNOPSIS
xargs [flaggor] [kommando [initial-argument]]
BESKRIVNING
Denna manualsida dokumenterar GNU-versionen av xargs. xargs läser objekt från standard in, avgränsade av blanksteg (som kan skyddas med dubbla eller enkla citattecken eller ett omvänt snedstreck) eller radbrytningar, och exekverar kommando (standard är echo) en eller flera gånger med eventuella initial-argument följt av objekt lästa från standard in. Tomma rader på standard in ignoreras.
Kommandoraden för kommando byggs upp tills den når en systemdefinierad gräns (om inte flaggorna -n och -L används). Det angivna kommando kommer att anropas så många gånger som behövs för att använda upp listan av indataobjekt. I allmänhet kommer det att bli mycket färre anrop av kommando än antalet objekt i indata. Detta ger ofta betydande prestandafördelar. Vissa kommandon kan också köras parallellt; se flaggan -P.
Eftersom Unix-filnamn kan innehålla blanksteg och radbrytningar är detta standardbeteende ofta problematiskt. Filnamn som innehåller blanksteg och/eller radbrytningar behandlas felaktigt av xargs. I dessa situationer är det bättre att använda flaggan -0, som förhindrar sådana problem. När denna flagga används måste det program som producerar indata för xargs också använda en nollteckenavgränsare. Om programmet är GNU find används flaggan -print0 för detta ändamål.
Om någon körning av kommandot avslutas med statuskod 255 stoppar xargs omedelbart utan att läsa ytterligare indata. Ett felmeddelande skrivs ut på stderr när detta händer.
FLAGGOR
| Flagga | Beskrivning |
|---|---|
| -0, --null | Indataobjekt avslutas med ett nolltecken istället för blanksteg. Citat och omvänt snedstreck är inte speciella (varje tecken tas bokstavligen). Inaktiverar end-of-file-strängen. Användbart när indataobjekt kan innehålla blanksteg, citattecken eller omvänt snedstreck. GNU find och (från Issue 8, POSIX) -print0 producerar sådan indata. |
| '-a file, --arg-file=file | Läs indataobjekt från file istället för standard in. Om du använder denna flagga förblir stdin oförändrad när kommandon körs, annars omdirigeras stdin från /dev/null. |
| --delimiter=delim, -d delim | Indataobjekt avslutas av den angivna avgränsaren. Avgränsaren kan vara ett enda tecken, en C-stils escape (t.ex. \n), eller en oktal/hexadecimal escape-kod. Multibyte-tecken stöds inte. Inaktiverar end-of-file-strängen. Bättre att använda --null om möjligt. |
| -E eof-str | Sätt end-of-file-strängen till eof-str. Om den förekommer som en rad ignoreras resten av indatan. Standard: ingen end-of-file-sträng. |
| -e[eof-str], --eof[=eof-str] | Synonym för -E. Om eof-str utelämnas används ingen end-of-file-sträng. Flaggan är inte POSIX-kompatibel. |
| -I replace-str | Ersätt förekomster av replace-str i initial-argumenten med objekt från standard in. Separatortecken är radbrytning istället för blanksteg. Implicerar -x och -L 1. |
| -i[replace-str], --replace[=replace-str] | Synonym för -I. Om replace-str utelämnas används {}. Flaggan är föråldrad; använd -I istället. |
| -L max-lines | Använd högst max-lines icke-tomma rader per kommando. Efterföljande blanksteg logiskt fortsätter raden. Implicerar -x. |
| -l[max-lines], --max-lines[=max-lines] | Synonym för -L. max-lines är valfritt. Standard = 1. Flaggan är föråldrad (POSIX föreskriver -L istället). |
| -n max-args, --max-args=max-args | Använd högst max-args argument per kommando. Färre används om storleken (se -s) överskrids, om inte -x används (då avbryts xargs). |
| -P max-procs, --max-procs=max-procs | Kör upp till max-procs processer samtidigt. Standard = 1. 0 = så många som möjligt. Möjlighet att ändra antal via signaler SIGUSR1/SIGUSR2. Notera: utdata kan blandas utan låsning. |
| -o, --open-tty | Öppna stdin som /dev/tty i barnprocessen innan kommandot körs. Användbart för interaktiva program. |
| -p, --interactive | Fråga användaren innan varje kommando körs. Kör bara om svaret börjar med y/Y. Implicerar -t. |
| --process-slot-var=name | Sätt miljövariabeln name till ett unikt värde i varje barnprocess. |
| -r, --no-run-if-empty | Kör inte kommandot om indata är tom. Standard: körs ändå en gång. |
| -s max-chars, --max-chars=max-chars | Använd högst max-chars tecken per kommando, inklusive kommandot och nolltecken. Systemberoende gränser gäller. |
| --show-limits | Visa gränser för kommandoradens längd. Använd /dev/null som indata för att bara visa. |
| -t, --verbose | Skriv ut kommandoraden innan exekvering. |
| -x, --exit | Avbryt om storleken överskrider (se -s). |
| -- | Markerar slutet på flaggorna. Efterföljande argument behandlas som operander även om de börjar med -. |
| --help | Visa hjälpsammanfattning. |
| --version | Visa versionsnummer. |
Obs: --max-lines (-L, -l), --replace (-I, -i) och --max-args (-n) är ömsesidigt uteslutande. Den senast angivna gäller, undantaget att -n 1 ignoreras efter --replace.
EXEMPEL
find /tmp -name core -type f -print | xargs /bin/rm -f
Hittar och tar bort filer som heter core i eller under /tmp. Felaktigt vid filnamn med blanksteg eller radbrytningar.
find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
Samma som ovan, men hanterar filnamn med blanksteg eller radbrytningar korrekt.
find /tmp -depth -name core -type f -delete
Mer effektiv metod, utan behov av fork(2)/exec(2).
cut -d: -f1 < /etc/passwd | sort | xargs echo
Genererar en kompakt lista över alla användare på systemet.
AVSLUTNINGSSTATUS
xargs avslutas med följande statuskoder:
- 0 – vid framgång
- 123 – om något kommando avslutade med status 1–125
- 124 – om kommandot avslutade med status 255
- 125 – om kommandot dödades av signal
- 126 – om kommandot inte kan köras
- 127 – om kommandot inte hittades
- 1 – om något annat fel inträffade
Statuskoder >128 används av skalet för att indikera död p.g.a. signal.
STANDARDER
- -0 inkluderas i POSIX Issue 8.
- -l och -i fanns i POSIX 1997 men inte i 2004. Använd -L och -I.
- -o är en BSD-kompatibilitetsutvidgning.
- --show-limits kan användas för att se aktuella gränser.
HISTORIK
Programmet xargs uppfanns av Herb Gellis på Bell Labs.
BUGGAR
- Det är omöjligt att använda xargs helt säkert eftersom det finns ett tidsglapp mellan filuppräkning och användning. Andra användare kan manipulera filsystemet under detta intervall.
- Användning av -I innebär en övre gräns på radlängden. Kan delvis kringgås med -s och extra xargs-anrop.
- Fram till och med version 4.9.0 kunde xargs -P avsluta medan barnprocesser fortfarande körde, om någon avslutade med status 255.
FELRAPPORTERING
- GNU findutils hjälp: https://www.gnu.org/software/findutils/#get-help
- Översättningsfel: https://translationproject.org/team/
- Buggrapporter: https://savannah.gnu.org/bugs/?group=findutils
- Mailinglista: https://lists.gnu.org/mailman/listinfo/bug-findutils
COPYRIGHT
Copyright © 1990–2025 Free Software Foundation, Inc. Licens GPLv3+: GNU GPL version 3 eller senare <https://gnu.org/licenses/gpl.html>. Fri programvara: du får ändra och distribuera. Ingen garanti.
SE ÄVEN
find(1), kill(1), locate(1), updatedb(1), fork(2), execvp(3), locatedb(5), signal(7)
Fullständig dokumentation: <https://www.gnu.org/software/findutils/xargs> eller lokalt via: info xargs
COLOPHON
Denna sida är en del av projektet findutils. Projektinformation: <http://www.gnu.org/software/findutils/> Buggrapporter: <https://savannah.gnu.org/bugs/?group=findutils> Denna sida hämtades från projektets Git-repo den 2 februari 2025.
Sidslut
Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man1/xargs.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.