Xargs-kommandoen er et kommandolinjeverktøy som brukes til å lese data fra standardinngang og kjører senere en kommando basert på standardinngangen. Det er et nyttig verktøy i filhåndtering, spesielt når det brukes med andre kommandoer som MKDIR, GREP, RM etc. I denne opplæringen skal vi lære å bruke Xargs på Linux.
Grunnleggende syntaks
Den grunnleggende syntaksen når du bruker Xargs -kommandoen er som følger:
$ Command1 | XArgs Command2
For å gi stdout til Xargs, bruker vi et pipe (|) symbol.
Xargs kan også brukes med flere alternativer, og i så fall tar det syntaks:
$ Command1 | XArgs [Alternativer] Command2
Bruke Xargs med Find -kommandoen
Xargs -kommandoen brukes ofte med Find -kommandoen. Den brukes til å søke etter spesifikke filer og utføre videre behandling på filene ved hjelp av XArgs. Syntaksen for å kombinere XArgs med Find er:
$ finn [katalog] -navn "[søk -term]" -type f | xargs [kommando]
Når du bruker Xargs med Find, inkluderer den ikke filer som inneholder spesialtegn i navnene deres. Det anbefales å bruke Find -print0 -alternativet for å inkludere slike filer.
I eksemplet nedenfor vil vi bruke Find -kommandoen til å søke etter alle filene med .txt -utvidelse og slett dem deretter. La oss første liste ved hjelp av LS -kommandoen.
$ ls
La oss nå påkalle Find -kommandoen og XArgs -kommandoen for å finne alle tekstfilene (.txt) og slett dem.
$ finn /home /james -navn "*.txt "-Type F -print0 | XArgs RM -f
Bruker xargs med grep
I tillegg kan Xargs -kommandoen brukes med GREP for å søke etter en streng i en spesifisert filer. Bruk syntaksen nedenfor:
$ Finn. -Navn 'Søk-termin' | xargs grep 'streng-til-finne-i-filer'
I eksemplet nedenfor søkte vi først etter filer med .TXT -forlengelse og deretter pipd dem til Xargs, som deretter utførte GREP -kommandoen. Vi kan observere at den søkte etter strengprøven.'
Kjør flere kommandoer med Xargs -kommandoen
For å kjøre flere kommandoer med XArgs, bruk alternativet -i. Syntaksen som brukes er:
[Kommando] | xargs -i % sh -c '[Command -1] %; [Command-2] %'
La oss se på eksemplet nedenfor; Vi vil kjøre to kommandoer; Først oppretter vi tre filer ved hjelp av Touch -kommandoen og deretter liste dem ved hjelp av LS -kommandoen.
Les elementer fra filen
Xargs brukes til å lese standardinngangen. For å lese elementene i en fil, bruk XArgs -kommandoen sammen med -A -alternativet.
$ xargs -a [filnavn]
Vis kommandoer utført av Xargs
For å se kommandoene utført av XArgs i standardutgang, bruk -t -alternativet. Syntaksen er:
$ [Kommando] | xargs -t [kommando]
I eksemplet nedenfor, legg merke til at Xargs utførte berøringskommandoen på strengen gitt av et ekko.
Begrens utgangen per linje
Du kan kontrollere antall argumenter som sendes til XArgs -kommandoen på et gitt tidspunkt. Bruk alternativet -n til å spesifisere antall argumenter du begrenser XArgs til.
$ [Kommando-levering-input] | xargs -n [nummer] [kommando]
I det følgende eksemplet deler Xargs strengen fra Echo -kommandoen i. til tre deler. Det utfører deretter Echo for hver del.
Fjern blanke mellomrom i streng
Xargs kan brukes som et verktøy for å fjerne tomme mellomrom fra en streng. Rør strengen til Xargs -kommandoen. Bruk syntaksen nedenfor:
$ ekko "String" | xargs
I eksemplet nedenfor, etter at Xargs er utført, skrives kommandoen strengen uten mellomrom før og etter dobbelt anførselstegn
$ ekko "XArgs -kommando på Linux" | xargs
Liste antall linjer/ord/tegn i hver fil
Xargs kan brukes som et verktøy for å vise en liste med antall linjer, ord og tegn i filer. Bruk WC -kommandoen (ordtelling) etter XArgs for å vise linje, ord og karaktertelling av spesifikke filer
$ LS -fil | Xargs WC
I eksemplet nedenfor brukte vi WC for å liste opp antall tegn i filene som bærer strengen “Fil”:
Spesifiser avgrenseren
For å endre avgrenseren fra standard, bruk alternativet -D -kommandoen etterfulgt av et tegn du ønsker å bruke som den nye avgrenseren. Syntaksen er vist nedenfor:
$ [Command-] | xargs -d [new -delimiter] | xargs [kommando]
På bildet nedenfor endrer vi vår avgrensning * og bruker deretter Mkdir på hver kommando.
Kopiere filer til flere kataloger
Xargs kan brukes til å kopiere filer til flere kataloger. Bruk syntaksen nedenfor:
$ ECHO [DIRECTORY1] [DIRECTORY2] | xargs -n 1 cp -v [fil]
Konklusjon
Xargs er et kraftig kommandolinjeverktøy for hverdagsbruk. For mer detaljert informasjon, les hyperkoblingen “http: // man7.org/linux/mann-sider/man1/xargs.1.HTML ”XArgs Man -side.