InggrisPerancisSpanyol

Ad


favorit OnWorks

enum - Online di Cloud

Jalankan enum di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah enum perintah yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


enum - pencacah seq- dan seperti jot

RINGKASAN


UMUM
enum [ PILIHAN ] KIRI .. COUNTx LANGKAH .. KANAN

PINTAS
enum [ PILIHAN ] KIRI LANGKAH KANAN

enum [ PILIHAN ] KIRI KANAN

enum [ PILIHAN ] KANAN

...

DESKRIPSI


enum menghitung nilai (angka) dari KIRI untuk KANAN penambahan/pengurangan LANGKAH setiap kali. Jika
LANGKAH tidak diberikan nilai tersirat. Tidak lebih dari COUNT nilai-nilai dicetak. Sebelum
pencetakan, nilai dilewatkan melalui formatter. Silahkan lihat PILIHAN untuk detail tentang
mengontrol pemformat atau CONTOH untuk kasus penggunaan.

Lebih lanjut enum detail penggunaan tercakup dalam PENGGUNAAN IN DETAIL.

CONTOH


GUNAKAN IN UNTUK-LOOP
untuk saya di $(enum -e 1 20); melakukan
sentuh file_${i}
dilakukan

GUNAKAN UNTUK ACAK ANGKA
angka=$(enum --acak 3 .. 10)

alih-alih seperti Bash asli

f() { mnt=$1; maks=$2; echo $((RANDOM * (maks - mnt + 1) / 32767 + mnt)); }
bilangan=$(p 3 10)

MENUNJUKKAN AN ASCII TABEL
enum -f '[%3i] "%c"' 0 127

PILIHAN


ACAK MODE
-r, --acak
Menghasilkan angka acak (berpotensi dengan duplikat) alih-alih urutan monoton.

-i, --benih=NOMOR
Lulus NOMOR sebagai penginisialisasi ke generator nomor acak. Secara default, RNG adalah
diinisialisasi dari waktu saat ini dan ID proses dari instance yang berjalan dari enum.

FORMAT
-b, --bodoh=TEKS
Mengganti format output menjadi TEKS tanpa menginterpolasi placeholder. Misalnya,
enum -b "foo % 10 " 3x menghasilkan string "foo % 10" tiga kali.

-c, --karakter
Mengganti format output ke %c yang menghasilkan karakter. Sebagai contoh, enum -c 65 67
menghasilkan huruf "A", "B" dan "C".

-e, --sama-lebar
Samakan lebar dengan mengisi dengan nol di depan. CATATAN: Dalam kasus campuran negatif dan
bilangan non-negatif (misalnya dengan enum -e - -10 1), nilai non-negatif akan mengkompensasi
karena kurangnya minus di depan dengan nol ekstra memiliki lebar yang sama.

-f, --format=FORMAT
Mengganti format keluaran default dengan FORMAT. Untuk detail tentang format yang diizinkan, silakan
melihat Printf(3).

FORMAT tunduk pada pemrosesan urutan escape C (misalnya "\n" membuat baris baru). Jika
FORMAT tidak mengandung placeholder, enum akan mencetak FORMAT berkali-kali. Di
kontras, jot akan menambahkan nilai angka sebagai gantinya. Untuk membuat angka muncul
di akhir dengan enum, sesuaikan FORMAT tepat

-l, --garis
Jalan pintas untuk "-s ' '" yang berarti memiliki spasi alih-alih baris baru sebagai pemisah.

-n, --omit-baris baru
Menghilangkan string terminasi (default ke baris baru) dari output, yaitu jalan pintas
ke "-t ''".

-p, --presisi=COUNT
Menggantikan pemilihan presisi otomatis untuk dicetak COUNT tempat desimal, misalnya "0.100"
untuk COUNT = 3. Secara default, jumlah digit yang akan dicetak dihitung dari
argumen yang diberikan dan ukuran langkah (diberikan atau dihitung).

-s, --pemisah=TEKS
Mengganti pemisah yang dicetak di antara nilai-nilai. Secara default, nilainya adalah
dipisahkan oleh baris baru. TEKS tunduk pada pemrosesan urutan pelarian C (mis
"\n" membuat baris baru).

-t, --terminator=TEKS
Mengganti terminator yang dicetak di bagian paling akhir. Default adalah baris baru. TEKS
tunduk pada pemrosesan urutan escape C (misalnya "\n" membuat baris baru).

-w, --kata=FORMAT
Alias ​​​​untuk --format, untuk kompatibilitas dengan jot. Untuk seq GNU -w makna
--sama-lebar, Lihat -e.

-z, --nol, --batal
Cetak byte nol sebagai pemisah, bukan baris baru.

LAIN
-h, --membantu
Keluaran informasi penggunaan dan keluar dengan kode 0 (berhasil).

-V, --Versi: kapan
Menampilkan informasi versi dan keluar dengan kode 0 (berhasil).

PENGGUNAAN IN DETAIL


ARGUMEN
Logika enumparameter baris perintah adalah:

enum [ PILIHAN ] KIRI .. COUNTx LANGKAH .. KANAN

Empat argumen terlibat:

· KIRI, nilai untuk memulai pencacahan dengan

· COUNT, jumlah (maksimum) nilai yang akan dihasilkan

· LANGKAH, jarak dari satu nilai ke nilai lainnya

· KANAN, nilai untuk menghentikan enumerasi di (dalam beberapa kasus sebelumnya)

Tidak semua empat argumen diperlukan, meskipun menentukan keempatnya adalah mungkin. Untuk daftar
semua kombinasi yang valid lihat SAH KOMBINASI di bawah. Detail tentang derivasi default adalah
ditangani di PENURUNAN OF DEFAULT.

SAH KOMBINASI
Dengan empat argumen:

· enum KIRI .. COUNTx LANGKAH .. KANAN

Dengan tiga argumen:

· enum KIRI COUNTx KANAN

· enum KIRI .. COUNTx LANGKAH ..

· enum .. COUNTx LANGKAH .. KANAN

· enum KIRI .. COUNTx .. KANAN

· enum KIRI .. LANGKAH .. KANAN

· enum KIRI LANGKAH KANAN (untuk kompatibilitas seq GNU)

Dengan dua argumen:

· enum .. COUNTx LANGKAH ..

· enum .. COUNTx .. KANAN

· enum COUNTx .. KANAN

· enum .. LANGKAH .. KANAN

· enum KIRI .. COUNTx ..

· enum KIRI .. LANGKAH ..

· enum KIRI .. KANAN

· enum KIRI KANAN (untuk kompatibilitas seq GNU)

Dengan satu argumen:

· enum .. LANGKAH ..

· enum .. COUNTx ..

· enum .. KANAN

· enum KANAN (untuk kompatibilitas seq GNU)

· enum KIRI ..

· enum COUNTx

Dengan kurang dari tiga argumen, default berlaku. Detail dijelaskan di PENURUNAN OF
DEFAULT di bawah.

Secara teknis, lebih banyak kasus penggunaan dimungkinkan. Misalnya, COUNTx LANGKAH .. KANAN is
tidak ambigu karena urutan argumennya tetap. Namun, "enum 3x 4 .. 10" banyak dibaca
"3 nilai antara 4 dan 10" sementara itu sebenarnya berarti "3 nilai hingga 10 dalam langkah
4". Untuk menjaga antarmuka pengguna enum seintuitif mungkin, kasus yang dapat
menyebabkan kesalahpahaman tidak dilaksanakan.

PENURUNAN OF DEFAULT
SELEKSI OTOMATIS OF KETEPATAN
enum membedakan antara "2", "2.0", "2.00" dan seterusnya:

# enum 1 2
1
2

# enum 1 2.0
1.0
1.1
[..]
1.9
2.0

Juga, jika langkah turunan memiliki lebih banyak tempat desimal daripada nilai yang ditentukan untuk KIRI
dan KANAN, presisi keluaran akan dinaikkan ke nilai langkah:

# enum 1 .. 3x .. 2
1.0
1.5
2.0

Presisi yang ditentukan selalu diutamakan, meskipun:

# enum -p 2 1 .. 3x .. 2
1.00
1.50
2.00

ARGUMEN DEFAULT
Secara umum, tiga argumen diperlukan; setiap tiga menyiratkan keempat. persamaan ini
menyatukan mereka:

KIRI + (COUNT - 1) * LANGKAH = KANAN

Jika Anda menentukan kurang dari tiga (lihat SAH KOMBINASI), yang tidak ditentukan
diturunkan atau disetel ke defaultnya:

· KIRI default ke 1 (kecuali LANGKAH dan KANAN ditentukan, lihat PENURUNAN OF KIRI
bawah)

· COUNT adalah tak terhingga, kecuali dapat diturunkan dari tiga nilai lainnya.

· LANGKAH default ke 1, kecuali dapat diturunkan.

· KANAN adalah +/-tak terhingga, kecuali jika dapat diturunkan dari tiga nilai lainnya.

Jelas, jika COUNT diatur ke nol (0x), enum tidak akan menghasilkan apa-apa, terlepas dari
argumen lainnya.

PENURUNAN OF KIRI
Secara umum, KIRI default ke 1:

# enum.. 3
1
2
3

If LANGKAH dan KANAN diberikan, diturunkan sebagai

KIRI = KANAN - LANGKAH * lantai(KANAN / LANGKAH)

# enum..4..10
2
6
10

Jika, selain LANGKAH dan KANAN, COUNT diberikan, diturunkan sebagai:

KIRI = KANAN - (COUNT - 1) * LANGKAH

# enum.. 2x 4 .. 10
6
10

GENERASI OF NILAI
Saat langkah kustom diminta, nilai dihasilkan sebagai berikut:

nilai[0] = KIRI + 0 * LANGKAH
nilai[1] = KIRI + 1 * LANGKAH
..
nilai[i] = KIRI + i * LANGKAH

Jika tidak, untuk menghindari penambahan yang tidak tepat, nilai dihasilkan sebagai berikut:

nilai[0] = KIRI + (KANAN - KIRI) / (JUMLAH - 1) * 0
nilai[1] = KIRI + (KANAN - KIRI) / (JUMLAH - 1) * 1
..
nilai[i] = KIRI + (KANAN - KIRI) / (JUMLAH - 1) * i

Produksi berhenti ketika salah satu dari COUNT nilai telah dihasilkan atau KANAN telah tercapai,
mana yang lebih dulu terkena. Ketika keempat nilai diberikan dalam kecocokan yang sempurna, mereka memukul pada saat yang sama
waktu.

ACAK MODE


Pada dasarnya, mode acak berbeda dalam hal ini:

· Nilai yang dihasilkan bersifat acak.

· Argumen COUNT default ke 1 (satu).

· Argumen KIRI (selalu!) default ke 1 (satu).

· Argumen KANAN diperlukan: Acak tidak bercampur dengan tak terhingga.

Bagian ini membahas perbedaan-perbedaan ini secara rinci.

COUNT DEFAULT UNTUK 1 (ONE)
Dalam mode acak hanya satu nilai yang dihasilkan, secara default:

# enum 1 4
1
2
3
4

# enum -r 1 4
3

Dengan menentukan COUNT anda dapat menghasilkan lebih banyak nilai sekaligus:

# enum -r 1 .. 3x .. 4
2
1
3

KIRI SELALU DEFAULT UNTUK 1 (ONE)
Ketika Anda membutuhkan peningkatan angka hingga maksimum tertentu (katakanlah 10), masing-masing dipisahkan oleh a
langkah tertentu (katakanlah 4) Anda dapat membiarkan enum hitung nilai awal yang dibutuhkan untuk Anda:

# enum..4..10
2
6
10

Dalam mode acak KIRI tidak pernah dihitung dan default ke 1 (satu):

# enum -r .. 5x 4 .. 10
1
1
9
1
5

ACAK TIDAK JANGAN MIX DENGAN INFINITY
Secara umum, enum mendukung berlari menuju tak terbatas:

# enum 1 .. 2.0 ..
1.0
3.0
5.0
[..]

Namun, dalam mode acak enum sekarang akan menghasilkan angka acak dari 1 hingga tak terhingga (atau besar
nomor seperti FLT_MAX dari ), yang telah kami putuskan.

SEJARAH


enum adalah perpaduan dari GNU seq dan jot, dari segi fitur. Pada intinya kedua alat mencetak urutan
dari angka. GNU seq memiliki antarmuka yang bersih tetapi fungsionalitasnya sangat terbatas. tulis di sisi lain
tangan menawarkan fitur yang lebih canggih, seperti menghasilkan angka acak, dengan biaya yang agak
antarmuka yang tidak ramah.

Dengan enum kami mencoba menawarkan alat dengan kekuatan jot dan dapat digunakan, mudah diingat
Antarmuka. enum dilisensikan di bawah lisensi BSD dan ditulis dalam C89 untuk maksimum
portabilitas.

Bagian berikut melihat perbedaan secara rinci.

PERBANDINGAN UNTUK MENCATAT


Menggunakan enum alih-alih jot menawarkan dua keuntungan utama:

· peningkatan kegunaan dan

· perilaku seragam di seluruh distribusi dan sistem operasi.

Pada 2010-10-03, implementasi jot masih sedikit berbeda antara DragonFlyBSD, FreeBSD,
MirOS BSD, NetBSD, OpenBSD, dan OS X. Misalnya perintah mencatat - 0 5 menghasilkan

· 6 bilangan bulat dari 0 hingga 5 di FreeBSD dan OS X,

0 1 2 3 4 5

· 100 bilangan bulat dari 0 hingga 99 di NetBSD, dan

0 1 2 [..] 97 98 99

· 100 bilangan bulat dari 0 hingga 5 (dengan duplikat berurutan) di DragonFlyBSD, MirOS BSD, dan
BukaBSD.

0 0 0 0 0 0 0 0 0 0 1 1 [..] 4 4 5 5 5 5 5 5 5 5 5 5

Pada dasarnya, set fitur lengkap jot ditambah beberapa peningkatan terdapat di enum. Nama-nama
parameter telah dipertahankan untuk meningkatkan kompatibilitas, misalnya -p 2 bekerja dengan enum as
itu dilakukan dengan jot:

# catatan -p 2 3
1.00
2.00
3.00

# enum -p 2 3
1.00
2.00
3.00

Silakan lihat PILIHAN di atas untuk lebih jelasnya.

TAMBAHAN FITUR
Fitur tambahan yang enum penawaran over jot meliputi:

LEBIH BERKESAN COMMAND GARIS PENGGUNAAN
Untuk menghasilkan 3 angka acak antara 1 dan 10 (termasuk), Anda akan menjalankan

catatan -r 3 1 10

dengan catatan. Kami menemukan panggilan alternatif ini ke enum lebih intuitif:

enum -r 1 .. 3x .. 10
enum -r 1 3x 10

KUSTOM RESOLUSI OF ACAK
Dengan enum Anda dapat menentukan bahwa nilai-nilai yang mungkin untuk dipilih secara acak memiliki a
spasi tertentu. Kedua kasus ini menggambarkan perbedaan antara celah 2 dan
3:

# enum -r 4 .. 100x 2 .. 10 | urutkan -u -n
4
6
8
10

# enum -r 4 .. 100x 3 .. 10 | urutkan -u -n
4
7
10

SUPPORT UNTUK BEBERAPA PLACEHOLDER IN FORMAT STRING
tulis di DragonFlyBSD, FreeBSD, MirOS BSD, OpenBSD, dan OS X:

# catatan -w %g%g 3
catatan: terlalu banyak konversi

tulis di NetBSD:

# catatan -w %g%g 3
jot: format tidak dikenal atau tidak valid `%g%g'

enum pada platform apa pun:

# enum -f %g%g 3
11
22
33

SUPPORT UNTUK ESCAPE URUTAN
Tidak ada implementasi jot yang kami uji (DragonFlyBSD, FreeBSD, MirOS BSD, NetBSD,
OpenBSD, dan OS X) mendukung escape sequence, misalnya "\n", di FORMAT:

# jot -w '%g\x41' 1
1\x41

enum dapat menghapus "\x41" dengan benar:

# enum -w '%g\x41' 1
1A

Di samping catatan, "\x25" menghasilkan "%" literal; itu tidak membuat placeholder:

# enum -w '%g \x25g' 1
1%g

NULL BYTE AS PEMISAH
Saat menggunakan string format yang berisi spasi, Anda mungkin mengalami masalah dalam konteks seperti
for loops atau xargs: spasi diperlakukan sebagai pemisah yang memecah string Anda di
potongan:

# enum -f 'jumlah domba %d' 2 | xargs -n 1 gema
domba
jumlah
1
domba
jumlah
2

Untuk mencegahnya, Anda bisa melewati --batal untuk keduanya enum dan xargs:

# enum --null -f 'jumlah domba %d' 2 | xargs --null -n 1 echo
domba nomor 1
domba nomor 2

PERBEDAAN
PENANGANAN OF FORMAT TANPA PLACEHOLDER
Berbeda dengan jot, enum tidak menambahkan nilai saat ini jika string pemformatan
tidak mengandung tempat penampung. Perilaku mencatat:

# tes jot 3 -w_
tes_1
tes_2
tes_3

Perilaku dari enum:

# enum -w tes_ 3
uji_
uji_
uji_

Untuk mencapai output jot dengan enum, Anda harus menambahkan placeholder secara manual:

# enum -w tes_%d 3
tes_1
tes_2
tes_3

BUKAN ANGKA NILAI UNTUK KIRI DAN KANAN
enum tidak mendukung penggunaan karakter ASCII alih-alih nilai numeriknya (mis
"A" untuk 65) untuk KIRI dan KANAN. Dengan jot Anda dapat melakukan:

# catat 3 A
65
66
67

Secara tidak konsisten,

# catat 3 0
0
1
2

jot tidak mengartikan "0" sebagai karakter ASCII dengan kode 48. Kami tidak bermaksud
dari menduplikasi campuran ini, pada saat ini.

PERBANDINGAN UNTUK GNU SEQ


Pada dasarnya, enumPenggunaannya kompatibel dengan yang digunakan oleh GNU seq.

TAMBAHAN FITUR
Fitur tambahan enum penawaran melalui GNU seq meliputi:

ACAK NOMOR MODE
enum mendukung keluaran angka acak yang dibatasi, mis

enum -r 4 .. 3x 2.0 .. 11

menghasilkan tiga (mungkin duplikat) angka acak dari himpunan {4.0, 6.0, 8.0, 10.0}.

SUPPORT UNTUK TERBALIK PEMESANAN
Berbeda dengan seq GNU, enum mendukung penghitungan nilai yang menurun:

# barisan 3 1

# enum 3 1
3
2
1

SUPPORT UNTUK BEBERAPA PLACEHOLDER IN FORMAT STRING
# seq -f %g%g 3
seq: format `%g%g' memiliki terlalu banyak % arahan

# enum -f %g%g 3
11
22
33

SUPPORT UNTUK ESCAPE URUTAN
GNU seq tidak mendukung urutan escape, katakan "\n", di FORMAT:

# seq -f '%g\x41' 1
1\x41

Sebaliknya, beberapa implementasi seq lain di sekitar melakukannya. Ketiga perilaku tersebut
dapat diamati (per 2010-10-25):

seq dari Paket 9, 9base, dan seq GNU:

# seq -f '%g\x41' 3
1\x41
2\x41
3\x41

seq di FreeBSD dan NetBSD:

# seq -f '%g\x41' 1
1A
2A
3A

seq di DragonFlyBSD:

# seq -f '%g\x41' 1
1A3
2A3
3A3

enum hapus juga "\x41" ke "A":

# enum -f '%g\x41' 3
1A
2A
3A

Di samping catatan, "\x25" menghasilkan "%" literal; itu tidak membuat placeholder:

# enum -f '%g \x25g' 1
1%g

MENGHILANGKAN FINAL GARIS BARU
Dengan menentukan -n sebagai parameter, Anda dapat membuat enum hilangkan baris baru yang tertinggal.

PERBEDAAN
Seq GNU --sama-lebar shortcut -w konflik dengan jot's -w kata. Kami memilih untuk membuat -e itu
jalan pintas untuk --sama-lebar in enum, sebagai gantinya.

Juga, sementara GNU seq dilisensikan di bawah GPL v3 atau yang lebih baru, enum dilisensikan di bawah New BSD
lisensi.

TERIMA KASIH


Elias Pipping, Andreas Gunschl, Justin B. Rye, David Prevot, Kamil Dudka, Michael Bienia

PENULIS


Jan Hauke ​​Rahm[email dilindungi]>

Sebastian Pipping[email dilindungi]>

SUMBER DAYA


Situs web utama: https://fedorahosted.org/enum/

web Git: http://git.fedorahosted.org/git/?p=enum.git

Gunakan enum online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad