Jika Anda pernah memainkan permainan kartu, Anda mungkin mengetahui istilah mengocok. Agak sulit untuk dibayangkan, ada alat baris perintah Linux yang persis melakukannya dengan baris dalam file. Dalam tutorial ini, kita akan membahas dasar-dasar perintah 'shuf' menggunakan beberapa contoh yang mudah dipahami.
Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh di sini telah diuji pada mesin Ubuntu 18.04 LTS.
Perintah shuf Linux
Perintah shuf di Linux memungkinkan Anda menghasilkan permutasi acak. Berikut sintaksnya:
shuf [OPTION]... [FILE]
Dan inilah cara halaman manual alat menjelaskannya:
Write a random permutation of the input lines to standard output.
Berikut adalah beberapa contoh gaya Tanya Jawab yang akan memberi Anda gambaran yang lebih baik tentang cara kerja perintah shuf.
Q1. Bagaimana cara menggunakan perintah shuf?
Penggunaan dasar sangat sederhana. Cukup berikan nama file sebagai input. Ini contohnya:
shuf test.txt
Sekarang, file test.txt berisi baris berikut:
1
2
3
4
5
6
7
8
9
Tetapi perintah shuf di atas menghasilkan output berikut:
3
4
6
5
1
8
2
7
9
Jadi Anda bisa melihat garisnya diacak.
Q2. Bagaimana cara membatasi jumlah baris dalam output?
Jika Anda ingin membatasi jumlah baris dalam output shuf, gunakan opsi baris perintah -n, yang mengharuskan Anda untuk memberikan angka yang mewakili jumlah baris maksimum yang Anda inginkan dalam output.
Misalnya:
shuf -n 3 test.txt
Perintah di atas menghasilkan output berikut:
6
4
9
Q3. Bagaimana cara mengizinkan pengulangan baris dalam output?
Misalkan file input berisi 9 baris, tetapi Anda ingin shuf menghasilkan lebih banyak baris daripada di output (menggunakan opsi -n yang dibahas di atas). Ini dapat dilakukan dengan menggunakan opsi -r.
-r, --repeat
output lines can be repeated
Jadi jika Anda ingin shuf menghasilkan 25 baris dalam output, jalankan perintah berikut:
shuf -r -n 25 test.txt
Inilah output yang dihasilkan oleh perintah ini:
6
8
4
5
9
3
3
1
2
5
7
5
9
5
8
5
2
8
8
7
4
4
8
5
3
Q4. Bagaimana cara membuat shuf memperlakukan argumen input sebagai baris?
Untuk ini, gunakan opsi baris perintah -e. Ini contohnya:
shuf -e 1 2 3 4 5 6 7 8 9
Berikut adalah output yang dihasilkan oleh perintah ini:
9
1
7
8
6
2
3
5
4
Kesimpulan
Setuju, shuf bukanlah jenis alat yang Anda perlukan setiap hari, tetapi tidak ada salahnya mempelajari utilitas ini terutama karena kurva belajarnya tidak terlalu curam. Setelah Anda selesai mempraktikkan apa pun yang telah kita diskusikan di sini, buka halaman manual alat untuk mengetahui lebih banyak tentangnya.