Cara Menggunakan Perintah xargs di Linux

Berikut ini akan Computory jelaskan mengenai Cara Menggunakan Perintah xargs di Linux supaya menambah pengetahuan dan informasi.

Untuk beberapa pengguna Linux yang lebih berpengalaman, sangatlah lumrah untuk selalu mencari cara baru agar dapat bekerja lebih cerdas dan tidak lebih keras di terminal.

xargs adalah perintah berguna yang bertindak sebagai jembatan antara dua perintah, membaca output dari satu perintah dan menjalankan perintah lain dengan item yang dibaca. Perintah ini paling sering digunakan dalam skenario saat pengguna mencari pola, menghapus dan mengganti nama file, dan banyak lagi.

Di sini Computory akan tunjukkan cara menggunakan perintah xargs yang bisa Anda coba.

Apa itu xargs?

Pada dasarnya, xargs adalah perintah yang digunakan untuk membaca informasi dari input standar (atau STDIN) dan dapat menjalankan perintah satu kali atau lebih dengan item yang dibaca.

Misalnya menggunakan xargs untuk menjalankan perintah ls di folder Dokumen, caranya adalah sebagai berikut:

Karakter | berfungsi untuk menyalurkan apa pun yang datang sebelumnya sebagai STDIN untuk xargs.

Kamu bisa lihat itu xargs membaca folder Dokumen saya tanpa masalah. Ini hanyalah salah satu contoh kapabilitas xargs perintah.

Perintahxargs tidak hanya dapat digunakan dalam berbagai operasi baris perintah, namun juga akan sangat berguna bila digunakan dengan perintahfind.

Operasi yang Melibatkan Banyak File

Misalkan Anda ingin menyalin konten dari suatu file “.txt” ke semua file teks yang ada di direktori.

Meskipun tugas tersebut umumnya mengharuskan Anda untuk menjalankan beberapa perintah, perintahxargs , bersama dengan find membuatnya menjadi sederhana.

Disini misalnya kita akan gunakan file “test0.txt”, yang berisi teks yang ingin disalin, dan direktori lainnya memiliki 10 file pengujian lain tanpa teks di dalamnya. Jika saya ingin menyalin konten test0.txt ke file-file teks di direktori lain, Anda bisa menjalankan perintah berikut:

Untuk memahami perintah yang ditunjukkan di atas, mari bagi menjadi dua bagian.

Bagian pertama adalah find ./test-dir1/ -name "*.txt" , yang mencari semua file .txt yang ada di dalam suatu direktori, dalam contoh ini kami beri nama “test-dir1”. Anda dapat mengubahnya menjadi direktori apa pun yang Anda gunakan.

Bagian kedua, xargs -n1 cp test.txt, akan mengambil output dari perintah pertama (nama file yang dihasilkan) dan menerapkan perintah cp (copy/salin) ke satu per satu file yang ada di dalam direktori target. Perhatikan bahwa perintah-n sangat penting di sini, karena mengiinstruksikan xargs untuk menggunakan satu argumen per eksekusi.

Saat digabungkan, perintah tersebut akan menyalin konten “test0.txt” ke semua file .txt di direktori.

Operasi yang Melibatkan Banyak Argumen

Salah satu keuntungan utama menggunakan xargs adalah kemampuannya untuk menangani sejumlah besar argumen. Misalnya, saat menghapus sejumlah besar file sekaligus, perintahrm terkadang gagal dan malah menampilkan “Argument list too long“.

Hal itu dikarenakan perintah tersebut tidak bisa begitu saja menangani daftar argumen yang begitu panjang. Ini biasanya terjadi ketika Anda memiliki terlalu banyak file di folder yang ingin Anda hapus.

Katakanlah Anda memiliki 75 file PDF dan Anda mendapatkan kesalahan saat mencoba menghapusnya.

Ini dapat dengan mudah diperbaiki dengan xargs. Untuk menghapus semua file ini, gunakan perintah berikut:

Operasi yang Melibatkan Pencarian Pola

Pengembang perangkat lunak serta administrator sistem melakukan banyak pencarian pola saat mengerjakan baris perintah. Misalnya, pengembang mungkin ingin melihat sekilas file proyek yang mengubah variabel tertentu, atau administrator sistem mungkin ingin melihat file yang menggunakan parameter konfigurasi sistem tertentu. Dalam skenario ini, xargs, bersama dengan find dan grep, akan dapat memudahkan operasi tersebut.

Misalnya, untuk mencari semua file “.txt” yang berisi string “maketecheasier”, jalankan perintah berikut:

Operasi Cut/Copy (Potong / Salin)

Xargsdanfind juga dapat digunakan untuk menyalin atau memindahkan sekumpulan file dari satu direktori ke direktori lain. Misalnya, untuk memindahkan semua file teks yang sudah tersimpan lebih dari 10 menit dari direktori saat ini ke direktori sebelumnya, gunakan perintah berikut:

Penggunaan-I  oleh xargs adalah untuk mendefinisikan string pengganti yang diganti dengan nama yang dibaca dari keluaran file find perintah. Pada contoh di atas replace-stringnya adalah {}, tapi bisa jadi apa saja. Misalnya, Anda dapat menggunakan “file” sebagai string pengganti.

Bagaimana Memberitahu xargs Kapan Berhenti

Misalkan Anda ingin membuat daftar detail dari semua file .txt yang ada di direktori saat ini. Seperti yang sudah dijelaskan, itu dapat dengan mudah dilakukan dengan menggunakan perintah berikut:

Tapi ada satu masalah:xargs akan menjalankan ls bahkan jika find gagal menemukan file .txt. Berikut ini adalah contohnya.

Jadi Anda dapat melihat bahwa meskipun tidak ada file .txt di direktori, tetapi itu tidak menghentikanxargs dari menjalankan perintahj ls. Untuk mengubah perilaku ini, gunakan -r pada baris perintah:

Kesimpulan

Meskipun kebanyakan contoh yang diberikan hanya berkutat di seputarxargs dengan find, perintah xargs juga dapat digunakan dengan banyak perintah lainnya. Jika Anda memiliki banyak perintah kompleks yang perlu Anda jalankan, xargs adalah alat yang sangat berguna.

Exit mobile version