Skip to main content

Contoh Kegunaan perintah "xarg"

LIHAT & PRAKTEKKAN!!! Inilah 20 Perintah pada CMD Beserta Fungsinya (April 2025)

LIHAT & PRAKTEKKAN!!! Inilah 20 Perintah pada CMD Beserta Fungsinya (April 2025)
Anonim

Perintah xargs biasanya digunakan dalam baris arahan di mana output satu arahan diteruskan sebagai argumen masukan ke arahan lain.

Dalam banyak kes, tiada perintah khas seperti xarg diperlukan untuk mencapai itu, kerana operator "paip" dan "redirection" melakukan transaksi jenis yang sama. Walau bagaimanapun, kadang-kadang terdapat isu-isu dengan mekanisme perpipaan dan pengalihan dasar, mis., Jika argumen mengandungi ruang, bahawa kelebihannya akan bertambah.

Tambahan pula, xargs melaksanakan arahan yang ditentukan berulang kali, jika perlu, untuk memproses semua argumen yang diberikan kepadanya. Malah, anda boleh menentukan berapa banyak argumen yang harus dibaca aliran input standard setiap kali xargs melaksanakan arahan yang ditentukan.

Secara umum, perintah xargs hendaklah digunakan jika output satu perintah digunakan sebagai sebahagian daripada pilihan atau argumen arahan kedua yang mana data tersebut disiarkan (menggunakan operator paip "|"). Pemasangan paip tetap memadai sekiranya data dimaksudkan sebagai masukan (standard) perintah kedua.

Sebagai contoh, jika anda menggunakan arahan ls untuk menghasilkan senarai nama fail dan direktori, dan kemudian masukkan senarai ini ke dalam perintah xargs yang melaksanakan echo, anda boleh menentukan berapa banyak nama fail atau nama direktori diproses dengan echo pada setiap lelaran seperti berikut :

ls | xargs -n 5 echo

Dalam kes ini, echo menerima lima fail atau nama direktori pada satu masa. Oleh kerana echo menambah aksara barisan pada akhir, lima nama ditulis pada setiap baris.

Sekiranya anda melaksanakan arahan yang mengembalikan item nombor yang besar dan tidak dapat diramalkan (contohnya nama fail) yang diserahkan kepada perintah lain untuk diproses selanjutnya, adalah idea yang baik untuk mengawal jumlah maksimum argumen yang diterima oleh arahan kedua untuk mengelakkan beban dan kegagalan.

Barisan baris berikut menyebarkan aliran nama fail yang dihasilkan dengan mencari kumpulan 200 sebelum menyampaikan kepada perintah cp, yang menyalinnya ke sandaran direktori.

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

Unsur "./" dalam arahan mencari menentukan direktori semasa untuk mencari. Argumen "-type f" menyekat carian ke fail, dan "-name" * .txt "flag menyaring lagi apa-apa yang tidak mempunyai" .txt "lanjutan. -i bendera dalam isyarat xargs bahawa {} notasi mewakili setiap nama fail wap.

Perintah berikut mendapati fail bernama teras dalam atau di bawah direktori / tmp dan memadamnya.

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

Perhatikan bahawa ini akan berfungsi dengan tidak betul jika terdapat sebarang nama fail yang mengandungi baris baru, petikan tunggal atau berganda, atau ruang. Versi berikut memproses nama filenya sedemikian rupa sehingga nama fail atau direktori yang mengandungi petikan tunggal atau berganda, ruang atau baris baharu dikendalikan dengan betul.

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

Sebaliknya -i pilihan anda juga boleh menggunakannya -I bendera yang menentukan rentetan yang digantikan oleh baris input dalam argumen arahan seperti dalam contoh ini:

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

Rentetan penggantian ditakrifkan sebagai "{}". Ini bermakna, sebarang kejadian "{}" dalam hujah arahan digantikan oleh elemen input yang dikemukakan kepada args melalui operasi paip. Ini membolehkan anda meletakkan elemen masukan pada kedudukan tertentu dalam argumen arahan untuk (dilaksanakan secara berulang).