Eisimpleirean Cleachdaidhean air a 'cho-òrdan "xargs"

Tuairisgeul agus Ro-ràdh

Tha an t-òrdugh xargs mar as trice air a chleachdadh ann an loidhne àithne far a bheilear a 'toirt seachad toradh aon àithne mar argamaidean a-steach gu òrdugh eile.

Ann an iomadh cùis, chan fheumar àithne sònraichte leithid xargs a choileanadh, oir tha na gnìomhaichean "pìob" agus "ath-stiùireadh" a 'coileanadh an aon seòrsa malairt. Ach, uaireannan tha ceistean ann le pìobaireachd bunaiteach agus inneal ath-tharraing, me ma tha argamaidean a 'gabhail a-steach àitean, tha sin a' dol thairis.

A thuilleadh air an sin, bidh xargs a 'ruith an òrdugh shònraichte a-rithist uaireannan, ma tha sin riatanach, gus na h-argamaidean a tha air an toirt seachad a phròiseasachadh. Gu dearbh, faodaidh tu innse dè na h-argamaidean a bu chòir a leughadh bhon t-sruthadh àbhaisteach àbhaisteach gach uair a bhios xargs a 'dèanamh an òrdugh shònraichte.

San fharsaingeachd, bu chòir an t-òrdugh xargs a chleachdadh ma tha toradh aon àithne gu bhith air a chleachdadh mar phàirt de na roghainnean no argamaidean aig an dàrna àithne air a bheil an dàta air a thionndadh (a 'cleachdadh inneal-pìoba "|"). Tha pìobaireachd cunbhalach gu leòr ma tha an dàta an dùil a bhith na chuideachadh (coitcheann) den dàrna àithne.

Mar eisimpleir, ma chleachdas tu an t-òrdugh ls gus liosta de dh'ainmean faidhlichean is de dh 'eòlairean a chruthachadh, agus an uairsin pìobaibh an liosta seo a-steach don òrdugh xargs a' toirt seachad mac-samhail , faodaidh tu innse cia mheud ainm faidhle no ainmean pasgan a th 'air a phròiseas le mac-samhail air gach turas mar a leanas :

ls | xargs -n 5 echo

Anns a 'chùis seo, gheibh eco còig ainmean no còdichean aig aon àm. Leis gu bheil echo a ' cur caractar loidhne ùr aig an deireadh, tha còig ainmean sgrìobhte air gach loidhne.

Ma nì thu àithne a bhios a 'tilleadh àireimh àireimh mòr agus neo-thuar (me ainmean faidhle) a thèid a thoirt gu àithne eile airson tuilleadh giollachd, is e deagh bheachd a th' ann smachd a chumail air an àireamh as motha de argamaidean a gheibh an dàrna àithne gus a bhith a 'seachnadh os cionn agus a' fulang.

Tha na h-earrannan-àithne a leanas a 'riochdachadh an t-sreath de dh'ainmean fhaidhlichean le bhith a' lorg int ris na buidhnean de 200 mus tèid iad chun a ' choimpiutair cp , a tha gan lethbhreacadh chun a' choimpiutair chùl - taice .

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

Tha an eileamaid "./" san òrdugh lorg a 'sònrachadh an eòlaire làithreach airson rannsachadh. Tha an argamaid "-type f" a 'cuingealachadh an rannsachaidh gu faidhlichean, agus tha an "-name" * .txt "a' brathadh tuilleadh sgàilearan a-mach rud sam bith nach eil leudachadh" .txt ". Bratach -i ann an comharran xargs a tha an { } comharradh a 'riochdachadh gach ainm faidhle den steam.

Bidh an t-òrdugh a leanas a 'faotainn faidhlichean air a bheil prìomh ainm no fo-dhuilleag / tmp agus gan sguabadh às.

lorg / tmp -name core -type f -print | xargs / bin / rm -f

Thoir an aire gun obraich seo gu ceàrr ma tha ainmean faidhle ann a tha a 'gabhail a-steach lusan ùra, briathran singilte no dùbailte, no àiteachan. Bidh an tionndadh a leanas a 'cur air adhart ainmean nam faidhlichean ann an dòigh a tha làimhseachadh fhaidhlichean no faidhle anns a bheil comharran no àite dùbailte no dùbailte, no raointean ùra.

lorg / tmp -name core -type f -print0 | xargs -0 / bin / rm -f

An àite an -i roghainn, faodaidh tu cuideachd an bratach -I a chleachdadh a tha a 'sònrachadh an t-sreang gu bheil an loidhne ionchuidh air a chur an àite ann an argamaidean an àithne mar a tha san eisimpleir seo:

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

Tha an sreang ùr air a mhìneachadh mar "{}". Tha seo a 'ciallachadh, thèid tachartas sam bith de "{}" anns na h-argamaidean àithne a thoirt a-steach leis an eileamaid cuir-a-steach a thèid a chur air adhart gu args tro obair pìoba. Tha seo a 'toirt cothrom dhut na h-eileamaidean cur-a-steach a shuidheachadh aig dreuchdan sònraichte ann an argamaidean an àithne a thèid a dhèanamh (a-rithist) air an cur gu bàs.