Perintah Shuf digunakan untuk menghasilkan permutasi acak di Linux dan sistem operasi mirip Unix. Menggunakan perintah shuf, kita dapat mengacak baris dari file input yang diberikan secara acak. Perintah Shuf adalah bagian dari GNU Coreutils, jadi Anda tidak perlu repot dengan instalasi. Dalam tutorial singkat ini, izinkan saya menunjukkan beberapa contoh perintah shuf.
Tutorial Perintah Shuf Dengan Contoh
Saya memiliki file bernama ostechnix.txt dengan konten berikut.
$ cat ostechnix.txt line1 line2 line3 line4 line5 line6 line7 line8 line9 line10
Sekarang mari kita tampilkan baris di atas dalam urutan acak. Untuk melakukannya, jalankan:
$ shuf ostechnix.txt line2 line8 line5 line10 line7 line1 line4 line6 line9 line3
Lihat? Perintah di atas mengacak urutan baris dalam file bernama "ostechnix.txt" dan menampilkan hasilnya.
Anda mungkin ingin menulis output ke file lain. Misalnya, saya ingin menyimpan output dalam file bernama output.txt . Untuk melakukannya, pertama buat file output.txt:
$ touch output.txt
Kemudian, tulis output ke file itu menggunakan -o tandai seperti di bawah ini.
$ shuf ostechnix.txt -o output.txt
Perintah di atas akan mengacak isi file ostechnix.txt secara acak dan menulis output ke file output.txt. Anda dapat melihat isi file output.txt menggunakan perintah:
$ cat output.txt line2 line8 line9 line10 line1 line3 line7 line6 line4 line5
Saya hanya ingin menampilkan salah satu dari baris acak dari file. Bagaimana saya bisa melakukannya? Sederhana!
$ shuf -n 1 ostechnix.txt line6
Demikian pula, kita dapat memilih entri acak "n" pertama. Perintah berikut hanya akan menampilkan lima entri acak pertama.
$ shuf -n 5 ostechnix.txt line10 line4 line5 line9 line3
Alih-alih membaca baris dari file, kita bisa langsung meneruskan input menggunakan -e tandai seperti di bawah ini.
$ shuf -e line1 line2 line3 line4 line5 line1 line3 line5 line4 line2
Anda juga dapat mengacak nomornya:
$ shuf -e 1 2 3 4 5 3 5 1 4 2
Untuk memilih salah satu dari rentang yang diberikan dengan cepat, gunakan perintah ini sebagai gantinya.
$ shuf -n 1 -e 1 2 3 4 5
Atau, pilih tiga angka acak seperti di bawah ini.
$ shuf -n 3 -e 1 2 3 4 5 3 5 1
Kami juga dapat menghasilkan angka acak dalam rentang tertentu. Misalnya, untuk menampilkan angka acak antara 1 hingga 10, cukup gunakan:
$ shuf -i 1-10 1 9 8 2 4 7 6 3 10 5
Untuk detail lebih lanjut, lihat halaman manual.
$ man shuf