mirror of https://github.com/CrimsonTome/tldr.git
30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# xargs
|
|
|
|
> Voer een commando uit met doorgegeven argumenten van een ander commando, een bestand, etc.
|
|
> De invoer wordt behandeld als een enkel tekstblok en gesplitst in afzonderlijke stukken op spaties, tabbladen, nieuwe regels en einde-van-bestand.
|
|
> Meer informatie: <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html>.
|
|
|
|
- Voer een commando uit met de invoergegevens als argumenten:
|
|
|
|
`{{argumenten_bron}} | xargs {{commando}}`
|
|
|
|
- Voer meerdere gekoppelde commando's uit op de invoergegevens:
|
|
|
|
`{{argumenten_bron}} | xargs sh -c "{{commando1}} && {{commando2}} | {{commando3}}"`
|
|
|
|
- Gzip alle bestanden met een `.log` extensie en profiteer van het voordeel van meerdere threads (`-print0` gebruikt een nul-teken om bestandsnamen te splitsen en `-0` gebruikt het als scheidingsteken):
|
|
|
|
`find . -name '*.log' -print0 | xargs -0 -P {{4}} -n 1 gzip`
|
|
|
|
- Voer het commando eenmaal per argument uit:
|
|
|
|
`{{argumenten_bron}} | xargs -n1 {{commando}}`
|
|
|
|
- Voer het commando één keer uit voor elke invoerregel, waarbij elke plaatsaanduiding (hier gemarkeerd als `_`) wordt vervangen door de invoerregel:
|
|
|
|
`{{argumenten_bron}} | xargs -I _ {{commando}} _ {{optionele_extra_argumenten}}`
|
|
|
|
- Parallelle uitvoeringen van maximaal `max-procs` processen tegelijk; de standaard is 1. Als `max-procs` 0 is, zal xargs zoveel mogelijk processen tegelijk uitvoeren:
|
|
|
|
`{{argumenten_bron}} | xargs -P {{max-procs}} {{commando}}`
|