Samplaí Úsáidí an Ordaithe "xargs"

Cur Síos agus Réamhrá

De ghnáth úsáidtear an t-ordú xargs i líne ceannais nuair a dhéantar aschur ordú amháin a rith mar argóintí ionchuir chuig ordú eile.

I go leor cásanna, níl aon ordú speisialta ar nós xargs ag teastáil chun é sin a dhéanamh, ós rud é go n-oibríonn na hoibreoirí "píopa" agus "athlonnú" an t-idirbheart de chineál céanna. Mar sin féin, uaireanta, tá ceisteanna ann leis an meicníocht bhunúsach píopaí agus athfhreastalaithe, m.sh. má tá spásanna ann le hargóintí, go dtagann xargs isteach.

Ina theannta sin, déanann xargs an t-ordú sonraithe a fhorghníomhú arís agus arís eile, más gá, chun na haon argóintí a thugtar dó a phróiseáil. Go deimhin, is féidir leat a shonrú cé mhéad argóintí ba cheart a léamh as an sruth ionchuir chaighdeánach gach uair a fhorghníomhóidh xargs an t-ordú sonraithe.

Go ginearálta, ba cheart an t-ordú xargs a úsáid má tá aschur ordú amháin le húsáid mar chuid de na roghanna nó na hargóintí atá ag an dara ordú ar a ndéantar na sonraí a shruthú (ag baint úsáide as an oibreoir píopa "|"). Tá píopaí rialta leordhóthanach má tá na sonraí i gceist mar ionchur (caighdeánach) an dara ordaithe.

Mar shampla, má úsáideann tú an t-ordú ls chun liosta ainmneacha agus eolairí comhaid a ghiniúint, agus ansin an liosta seo a phíopaí isteach san ordú xargs ag déanamh macalla , is féidir leat a shonrú cé mhéad ainm comhaid nó ainmneacha comhaid a phróiseáil ag macalla ar gach athráiteas mar seo a leanas :

ls | xargs -n 5 macalla

Sa chás seo, faigheann macalla cúig chomhad nó ainmneacha eolaire ag an am. Ós rud é go gcuireann macalla carachtar nua-líne ar an deireadh, scríobhtar cúig ainm ar gach líne.

Má fhorghníomhaíonn tú ordú a fhágann míreanna móra agus intuartha (eg ainmneacha comhaid) a chuirtear ar aghaidh chuig ordú eile le haghaidh próiseála eile, is maith an rud é an t-uasmhéid argóintí a fhaigheann an dara orduithe a sheachaint chun ró-ualach agus maireachtáil a sheachaint.

Deighiltíonn an t-ordú seo a leanas sruth na n-ainmneacha comhaid a tháirgtear trí na grúpaí 200 a fháil sula gcuirtear ar aghaidh chuig an gceannas cp , agus iad a chóipeáil chuig an eolaire cúltaca .

faigh ./ -type f -ainm "* .txt" -print | xargs -l200 -i cp -f {} ./backup

Sonraíonn an ghné "./" san ordú aimsithe an t-eolaire reatha le haghaidh cuardach. Cuireann an argóint "-type f" an cuardach ar chomhaid, agus bíonn an "-ainm" * .txt "níos mó ná aon rud nach bhfuil" síneadh ".txt" ann. Tá an bratach -i i comharthaí xargs go bhfuil an { } Léiríonn nótaireacht gach ainm comhaid an ghaile.

Faigheann an t-ordú seo a leanas comhaid lárnacha atá ainmnithe sa eolaire / thíos nó tmp agus scriosann siad iad.

faigh / tmp -name croí-cineál f -print | xargs / bin / rm -f

Tabhair faoi deara go n-oibreoidh sé seo go mícheart má tá ainmneacha comhaid ann ina bhfuil línte nua, comharthaí nó spásanna aonair nó dúbailte. Próiseálann an leagan seo a leanas na hainmneacha comhaid ar bhealach a dhéantar déileáil go ceart le hainmneacha comhaid nó comhaid a bhfuil comharthaí, spásanna nó línte nua dúbailte nó dúbailte.

aimsiú / tmp -name croí-cineál f -print0 | xargs -0 / bin / rm -f

In ionad an rogha -i , is féidir leat úsáid a bhaint as an bhratach -I a shonraíonn an teaghrán go gcuirtear an líne ionchuir in ionad na n-argóintí ceannais mar atá san sampla seo:

ls dir1 | xargs -I {} -t mv dir1 / {} dir / {} / code>

Sainmhínítear an teaghrán athsholáthair mar "{}". Ciallaíonn sé seo, cuirtear an eilimint ionchuir ar aghaidh chuig args tríd an oibríocht píopaí in ionad aon tharchuir de "{}" sna hargóintí ordú. Cuireann sé seo ar chumas tú na heilimintí ionchuir a chur i bpoist ar leith i n-argóintí an orduithe a dhéantar (arís agus arís eile) a fhorghníomhú.