Linux Xargs -kommando

Linux Xargs -kommando

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.