Conto Mangpaat tina "xargs" Komando

Pedaran tur Perkenalan

The xargs paréntah anu ilaharna dipaké dina garis paréntah mana kaluaran hiji paréntah disalurkeun kana sakumaha alesan input keur ngorana sejen.

Dina loba kasus, teu paréntah husus kayaning xargs ieu diperlukeun keur ngalengkepan yen, saprak "pipe" jeung "redirection" operator nedunan urus tipe sami. Sanajan kitu, kadang aya isu jeung piping dasar na mékanisme redirection, misalna, upami alesan ngandung spasi, éta xargs overcomes.

Sajaba ti, xargs executes paréntah ditangtukeun sababaraha kali, upami diperlukeun, pikeun ngolah sakabeh alesan dibikeun ka eta. Kanyataanna, anjeun tiasa nangtukeun sabaraha alesan kudu dibaca off stream input baku tiap time xargs executes paréntah ditangtukeun.

Sacara umum, parentah xargs kudu dipake lamun kaluaran hiji paréntah nyaéta bisa dipaké salaku bagian tina pilihan atawa alesan tina paréntah kadua nu data anu streamed (ngagunakeun operator pipe "|"). piping biasa cukup lamun data anu dimaksudkeun pikeun jadi (baku) input ti paréntah kadua.

Contona, lamun nganggo LS sorana keur ngahasilkeun daptar ngaran file na directories, lajeng pipe daptar ieu kana xargs paréntah executing bahana , anjeun tiasa nangtukeun sabaraha ngaran file atawa ngaran direktori anu diolah ku bahana on unggal Iteration kieu :

LS | xargs -n 5 bahana

Dina hal ieu, bahana narima lima file atawa diréktori ngaran dina hiji waktu. Kusabab bahana nambihan karakter anyar-garis dina tungtungna, lima ngaran nu ditulis dina unggal garis.

Lamun ngaéksekusi paréntah nu mulih jumlah badag sarta unpredictable Item (misalna ngaran file) nu dibikeun ka paréntah sejen pikeun salajengna ngolah éta mangrupakeun ide nu sae pikeun ngadalikeun jumlah maksimum alesan yén paréntah kadua narima ulah overload sarta nabrak.

Handap garis paréntah partitions kana saluran tina ngaran file dihasilkeun manggihan int gorombolan 200 saméméh diliwatan on kana CP paréntah, anu salinan aranjeunna kana diréktori cadangan.

manggihan ./ -type f -name "* .txt" -print | xargs -l200 -i CP -f {} ./backup

The "./" unsur dina paréntah manggihan hususna dina diréktori ayeuna keur néangan. The "-type f" argumen Batesan pilarian mun file, jeung "-name" * .txt "bendera salajengna nyaring kaluar sagala hal anu teu boga" .txt "extension. The -i bendera di sinyal xargs yén { } notasi ngawakilan tiap ngaran file ngeunaan uap anu.

Paréntah di handap manggih file ngaranna core atawa sahandapeun diréktori / TMP sarta hapusan aranjeunna.

manggihan / TMP -name core -type f -print | xargs / bin / rm -f

Catetan yen ieu bakal dianggo leres lamun aya wae filenames ngandung newlines, tanda petik tunggal atawa ganda, atanapi spasi. Versi handap prosés nu filenames dina cara sapertos nu berkas atawa ngaran diréktori ngandung tunggal atawa ganda tanda petik, spasi atanapi newlines anu neuleu diatur.

manggihan / TMP -name core -type f -print0 | xargs -0 / bin / rm -f

Gantina pilihan -i Anjeun ogé bisa migunakeun bendera -i nu hususna ti senar éta nu diganti ku garis input dina alesan paréntah sakumaha dina conto ieu:

LS dir1 | xargs -i {} -t mv dir1 / {} dir / {} / kode>

The ngagantian string diartikeun "{}". Ieu hartosna, naon kajadian anu lumangsungna di "{}" dina dalil paréntah diganti ku unsur input diteruskeun kana args ngaliwatan operasi pipe. Ieu nyandak anjeun nempatkeun elemen input dina posisi husus dina alesan tina paréntah janten (sababaraha kali) dieksekusi.