GoGPT Best VPN GoSearch

Favicon OnWorks

enum - Online în cloud

Rulați enum în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda enumerare care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


enum - enumerator asemănător secv- și jot

REZUMAT


GENERAL
enumerare [ OPŢIUNI ] LEFT .. COUNTx PASUL .. DREAPTA

SCURTURI
enumerare [ OPŢIUNI ] LEFT PASUL DREAPTA

enumerare [ OPŢIUNI ] LEFT DREAPTA

enumerare [ OPŢIUNI ] DREAPTA

...

DESCRIERE


enumerare enumeră valori (numere) din LEFT la DREAPTA adunarea/scăderea PASUL de fiecare data. Dacă
PASUL nu este furnizat o valoare este implicită. Nu mai mult de COUNT valorile sunt tipărite. Inainte de
prin imprimare, valorile sunt trecute printr-un formatator. Te rog vezi OPŢIUNI pentru detalii despre
controlând formatatorul sau EXEMPLE pentru cazuri de utilizare.

Mai departe enumerare detaliile de utilizare sunt acoperite în UTILIZARE IN DETALIU.

EXEMPLE


UTILIZAȚI IN FOR-BUCLE
pentru i în $(enum -e 1 20); do
atingeți fișier_${i}
făcut

UTILIZAȚI PENTRU ÎNTÂMPLĂTOR NUMERELE
număr=$(enum --aleatoriu 3 .. 10)

în loc de Bash nativ ca

f() { min=$1; max=2$; echo $((RANDOM * (max - min + 1) / 32767 + min)); }
număr=$(f 3 10)

AFIȘARE AN ASCII TABEL
enumerare -f '[%3i] "%c"' 0 127

OPŢIUNI


ÎNTÂMPLĂTOR MODE
-r, --Aleatoriu
Produce numere aleatorii (potențial cu duplicate) în loc de secvențe monotone.

-i, --samanta=NUMĂR
Trece NUMĂR ca inițializator pentru generatorul de numere aleatoare. În mod implicit, RNG este
inițializat de la ora curentă și ID-ul de proces al instanței care rulează enumerare.

FORMATAREA
-b, --prost=TEXT
Înlocuiește formatul de ieșire la TEXT fără a interpola substituenți. De exemplu,
enumerare -b „foo % 10 " 3x produce șirul „foo % 10” de trei ori.

-c, --personaje
Înlocuiește formatul de ieșire la %c producând caractere. De exemplu, enumerare -c 65 67
produce literele „A”, „B” și „C”.

-e, --lățime egală
Egalizați lățimea completând cu zerouri de început. NOTĂ: În cazul negativului mixt și
numere nenegative (de ex. cu enumerare -e - -10 1), valorile nenegative vor compensa
pentru lipsa unui minus de început cu un zero suplimentar să fie de lățime egală.

-f, --format=FORMAT
Înlocuiește formatul implicit de ieșire cu FORMAT. Pentru detalii despre formatele permise, vă rugăm
vedea printf(3).

FORMAT este supus procesării secvențelor de evadare C (de exemplu, „\n” face o linie nouă). Dacă
FORMAT nu conține substituenți, enumerare va imprima FORMAT repetat. În
contrast, jot ar fi adăugat valoarea numărului. Pentru a face să apară numerele
la final cu enumerare, reglați FORMAT în mod corespunzător.

-l, --linia
Comandă rapidă pentru "-s ' '" ceea ce înseamnă că aveți un spațiu în loc de o nouă linie ca separator.

-n, --omit-newline
Omite șirul final (implicit la newline) din ieșire, adică este o comandă rapidă
la "-t ''".

-p, --precizie=COUNT
Ignoră selecția automată a preciziei de imprimare COUNT zecimale, de exemplu "0.100"
pentru COUNT = 3. În mod implicit, numărul de cifre de imprimat este calculat din
argumentele date și dimensiunea pasului (dată sau calculată).

-s, --separator=TEXT
Supliniază separatorul care este imprimat între valori. În mod implicit, valorile sunt
separate printr-o linie nouă. TEXT este supus prelucrării secvențelor de evadare C (de ex
„\n” face o nouă linie).

-t, --terminator=TEXT
Ignoră terminatorul care este imprimat la sfârșit. Implicit este o linie nouă. TEXT
este supus prelucrării secvențelor de evadare C (de exemplu, „\n” face o linie nouă).

-w, --cuvânt=FORMAT
Alias ​​pentru --format, pentru compatibilitate cu jot. Pentru secv. GNU -w sens
--lățime egală, A se vedea -e.

-z, --zero, --nul
Imprimați octeți nuli ca separator, nu o linie nouă.

ALTE
-h, --Ajutor
Afișează informații de utilizare și iese cu codul 0 (succes).

-V, --versiune
Afișează informații despre versiune și iese cu codul 0 (succes).

UTILIZARE IN DETALIU


ARGUMENTE
Logica enumerareParametrii liniei de comandă a lui sunt:

enumerare [ OPŢIUNI ] LEFT .. COUNTx PASUL .. DREAPTA

Sunt implicate patru argumente:

· LEFT, valoarea cu care începe enumerarea

· COUNT, numărul (maximum) de valori de produs

· PASUL, decalajul de la o valoare la alta

· DREAPTA, valoarea la care se oprește enumerarea (în unele cazuri înainte)

Nu sunt necesare toate cele patru argumente, deși este posibilă specificarea tuturor celor patru. Pentru o listă de
toate combinațiile valide vezi VALABIL COMBINAȚII de mai jos. Detalii despre derivarea implicite sunt
adresată în DERIVARE OF IMPACT.

VALABIL COMBINAȚII
Cu patru argumente:

· enumerare LEFT .. COUNTx PASUL .. DREAPTA

Cu trei argumente:

· enumerare LEFT COUNTx DREAPTA

· enumerare LEFT .. COUNTx PASUL ..

· enumerare .. COUNTx PASUL .. DREAPTA

· enumerare LEFT .. COUNTx .. DREAPTA

· enumerare LEFT .. PASUL .. DREAPTA

· enumerare LEFT PASUL DREAPTA (pentru compatibilitatea GNU seq)

Cu doua argumente:

· enumerare .. COUNTx PASUL ..

· enumerare .. COUNTx .. DREAPTA

· enumerare COUNTx .. DREAPTA

· enumerare .. PASUL .. DREAPTA

· enumerare LEFT .. COUNTx ..

· enumerare LEFT .. PASUL ..

· enumerare LEFT .. DREAPTA

· enumerare LEFT DREAPTA (pentru compatibilitatea GNU seq)

Cu un singur argument:

· enumerare .. PASUL ..

· enumerare .. COUNTx ..

· enumerare .. DREAPTA

· enumerare DREAPTA (pentru compatibilitatea GNU seq)

· enumerare LEFT ..

· enumerare COUNTx

Cu mai puțin de trei argumente, se aplică valorile implicite. Detaliile sunt descrise în DERIVARE OF
IMPACT de mai jos.

Din punct de vedere tehnic, sunt posibile mai multe cazuri de utilizare. De exemplu, COUNTx PASUL .. DREAPTA is
lipsit de ambiguitate deoarece ordinea argumentelor este fixă. Cu toate acestea, „enum 3x 4 .. 10” seamănă foarte mult
„3 valori între 4 și 10”, în timp ce de fapt ar însemna „3 valori până la 10 în pași de
4". Pentru a menține interfața de utilizator a enum cât mai intuitivă posibil, cazuri care ar putea
duce la neînțelegeri nu sunt implementate.

DERIVARE OF IMPACT
AUTO-SELECTARE OF PRECIZIE
enumerare distinge între „2”, „2.0”, „2.00” și așa mai departe:

# enumerare 1 2
1
2

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

De asemenea, dacă pasul derivat are mai multe zecimale decât valorile specificate pentru LEFT
și DREAPTA, precizia de ieșire va fi ridicată la cea a valorii pasului:

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

O precizie specificată are întotdeauna prioritate, totuși:

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

ARGUMENT IMPACT
În general, sunt necesare trei argumente; oricare trei implică al patrulea. Această ecuație
le reunește:

LEFT + (COUNT - 1) * PASUL = DREAPTA

Dacă specificați mai puțin de trei dintre ele (vezi VALABIL COMBINAȚII), cele nespecificate
sunt derivate sau setate la valorile implicite:

· LEFT implicit la 1 (cu excepția cazului în care PASUL și DREAPTA sunt specificate, vezi DERIVARE OF LEFT
de mai jos)

· COUNT este infinit, cu excepția cazului în care poate fi derivat din celelalte trei valori.

· PASUL implicit la 1, cu excepția cazului în care poate fi derivat.

· DREAPTA este +/-infinit, cu excepția cazului în care poate fi derivat din celelalte trei valori.

Evident, dacă COUNT este setat la zero (0x), enum nu va scoate nimic, indiferent de
alte argumente.

DERIVARE OF LEFT
În general, LEFT implicit la 1:

# enumerare .. 3
1
2
3

If PASUL și DREAPTA este dat, este derivat ca

LEFT = DREAPTA - PASUL * podea(DREAPTA / PASUL)

# enumerare .. 4 .. 10
2
6
10

Dacă, pe lângă PASUL și DREAPTA, COUNT este dat, este derivat ca:

LEFT = DREAPTA -(COUNT - 1) * PASUL

# enumerare .. 2x 4 .. 10
6
10

GENERAREA OF VALORI
Când este solicitat un pas personalizat, valorile sunt produse după cum urmează:

valoare[0] = STÂNGA + 0 * PAS
valoare[1] = STÂNGA + 1 * PAS
..
valoare[i] = STÂNGA + i * PAS

În caz contrar, pentru a evita adunarea impreciziei, valorile sunt produse după cum urmează:

valoare[0] = STÂNGA + (DREAPTA - STÂNGA) / (NUMĂRĂ - 1) * 0
valoare[1] = STÂNGA + (DREAPTA - STÂNGA) / (NUMĂRĂ - 1) * 1
..
valoare[i] = STÂNGA + (DREAPTA - STÂNGA) / (NUMĂRĂ - 1) * i

Producția se oprește atunci când fie COUNT s-au produs valori sau DREAPTA a fost atins,
oricare lovește primul. Când toate cele patru valori sunt date într-o potrivire perfectă, ele lovesc la fel
timp.

ÎNTÂMPLĂTOR MODE


Practic, modul aleatoriu diferă în aceste privințe:

· Valorile produse sunt aleatorii.

· Argument COUNT implicit la 1 (unul).

· Argument LEFT (întotdeauna!) este implicit 1 (unu).

· Argument DREAPTA este necesar: Aleatoriu nu se amestecă cu infinitul.

Această secțiune acoperă aceste diferențe în detaliu.

COUNT IMPACT LA 1 (UNU)
În modul aleatoriu este produsă o singură valoare, implicit:

# enumerare 1 4
1
2
3
4

# enumerare -r 1 4
3

Prin precizarea COUNT puteți produce mai multe valori la un moment dat:

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

LEFT ÎNTOTDEAUNA IMPACT LA 1 (UNU)
Când aveți nevoie de numere crescătoare până la un anumit maxim (să zicem 10), fiecare separată de a
un anumit pas (să spunem 4) pe care îl poți lăsa enumerare calculați valoarea de pornire necesară pentru dvs.:

# enumerare .. 4 .. 10
2
6
10

În modul aleatoriu LEFT nu este niciodată calculat și este implicit la 1 (unu):

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

ÎNTÂMPLĂTOR FACE NU AMESTECA CU INFINIT
În general, enumerare suportă alergarea către infinit:

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

Cu toate acestea, în modul aleatoriu enumerare ar produce acum numere aleatorii de la 1 la infinit (sau un mare
număr ca FLT_MAX din ), împotriva căruia am decis.

ISTORIE


enumerare este o fuziune a GNU seq și jot, din punct de vedere al caracteristicilor. La bază, ambele instrumente imprimă secvențe
de numere. GNU seq are o interfață curată, dar o funcționalitate foarte limitată. notează pe cealaltă
mâna oferă funcții mai avansate, cum ar fi producerea de numere aleatorii, cu prețul unui
interfață neprietenoasă.

cu enumerare încercăm să oferim un instrument cu puterea iotului și un instrument utilizabil, ușor de memorat
interfață. enumerare este licențiat sub o licență BSD și scris în C89 pentru maximum
portabilitate.

Următoarele secțiuni analizează diferențele în detaliu.

COMPARAŢIE LA JOT


Utilizarea enumerare în loc de jot oferă două avantaje principale:

· utilizare îmbunătățită și

· comportament uniform între distribuții și sisteme de operare.

Începând cu 2010-10-03, implementările jot încă diferă subtil între DragonFlyBSD, FreeBSD,
MirOS BSD, NetBSD, OpenBSD și OS X. De exemplu, comanda j - 0 5 produce

· 6 numere întregi de la 0 la 5 pe FreeBSD și OS X,

0 1 2 3 4 5

· 100 de numere întregi de la 0 la 99 pe NetBSD și

0 1 2 [..] 97 98 99

· 100 de numere întregi de la 0 la 5 (cu duplicate consecutive) pe DragonFlyBSD, MirOS BSD și
OpenBSD.

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

Practic, setul complet de funcții Jot plus câteva îmbunătățiri este conținut în enumerare. Nume
dintre parametrii au fost păstrați pentru o compatibilitate sporită, de ex -p 2 lucrări cu enumerare as
face cu jot:

# nota -p 2 3
1.00
2.00
3.00

# enumerare -p 2 3
1.00
2.00
3.00

Vă rugăm să consultaţi OPŢIUNI mai sus pentru mai multe detalii.

ADIŢIONAL CARACTERISTICI
Caracteristicile suplimentare care enumerare ofertele peste nota includ:

MAI MULT MEMORABIL COMMAND LINE UTILIZARE
Pentru a produce 3 numere aleatorii între 1 și 10 (inclusiv), ai alerga

nota -r 3 1 10

cu iota. Găsim aceste apeluri alternative la enumerare mai intuitiv:

enumerare -r 1 .. 3x .. 10
enumerare -r 1 3x 10

PERSONALIZAT REZOLUȚIE OF ÎNTÂMPLĂTOR
cu enumerare puteți specifica că posibilele valori din care să fie selectate aleatoriu au a
spațiere specială. Aceste două cazuri ilustrează diferența dintre un decalaj de 2 și
3:

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

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

SUPORT PENTRU UNELE SUBLOCURI IN FORMAT SIRURI DE CARACTERE
scrieți despre DragonFlyBSD, FreeBSD, MirOS BSD, OpenBSD și OS X:

# iotă -w %g%g 3
notează: prea multe conversii

notează pe NetBSD:

# iotă -w %g%g 3
nota: format necunoscut sau nevalid „%g%g”

enumerare pe orice platformă:

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

SUPORT PENTRU ESCAPE SECVENȚE
Niciuna dintre implementările Jot pe care le-am testat (DragonFlyBSD, FreeBSD, MirOS BSD, NetBSD,
OpenBSD și OS X) acceptă secvențe de evacuare, să spunem „\n”, în FORMAT:

# notează -w '%g\x41' 1
1\x41

enumerare este capabil să elimine corect „\x41”:

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

Pe o notă secundară, „\x25” produce un „%” literal; nu face un substituent:

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

NULL BYTES AS SEPARATOR
Când utilizați șiruri de format care conțin spații, este posibil să aveți probleme în contexte precum
pentru bucle sau xargs: spațiile sunt tratate ca separatori care rup șirurile
piese:

# enum -f „numărul de oaie %d” 2 | xargs -n 1 ecou
oaie
număr
1
oaie
număr
2

Pentru a preveni acest lucru, ai putea trece --nul ambilor enumerare și xargs:

# enum --null -f 'numărul de oaie %d' 2 | xargs --null -n 1 ecou
oaie numărul 1
oaie numărul 2

DIFERENȚE
MANIPULARE OF FORMATE FĂRĂ SUBLOCURI
Spre deosebire de jot, enumerare nu adaugă valoarea curentă dacă șirul de formatare
nu conține un substituent. Comportamentul iotei:

# nota 3 -w test_
test_1
test_2
test_3

Comportamentul de enumerare:

# enumerare -w test_ 3
Test_
Test_
Test_

Pentru a obține rezultatul lui jot cu enumerare, ar trebui să adăugați manual un substituent:

# enumerare -w test_%d 3
test_1
test_2
test_3

NON-NUMĂR VALORI PENTRU LEFT AND DREAPTA
enumerare nu acceptă utilizarea caracterelor ASCII în locul valorilor lor numerice (de ex
„A” pentru 65) pentru LEFT și DREAPTA. Cu jot poți face:

# nota 3 A
65
66
67

Inconsecvent,

# nota 3 0
0
1
2

jot nu interpretează „0” ca caracter ASCII cu codul 48. Nu avem nicio intenție
de duplicare a acestui mix, în acest moment.

COMPARAŢIE LA GNU SECV


Pe scurt, enumerareUtilizarea lui este compatibilă cu cea a GNU seq.

ADIŢIONAL CARACTERISTICI
Caracteristicile suplimentare enumerare ofertele peste GNU seq includ:

ÎNTÂMPLĂTOR NUMĂR MODE
enumerare acceptă ieșirea de numere aleatoare constrânse, de ex

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

produce trei numere aleatoare (posibil duplicate) din setul {4.0, 6.0, 8.0, 10.0}.

SUPORT PENTRU INVERS COMANDA
Spre deosebire de GNU seq, enumerare acceptă enumerarea valorilor descrescătoare:

# secv 3 1

# enumerare 3 1
3
2
1

SUPORT PENTRU UNELE SUBLOCURI IN FORMAT SIRURI DE CARACTERE
# secv. -f %g%g 3
seq: formatul `%g%g' are prea multe % directive

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

SUPORT PENTRU ESCAPE SECVENȚE
GNU seq nu acceptă secvențe de evacuare, spuneți „\n”, în FORMAT:

# secv. -f '%g\x41' 1
1\x41

În contrast, unele dintre celelalte implementări seq din jur fac. Aceste trei comportamente
pot fi observate (din 2010-10-25):

secvența Planului 9, 9base și GNU seq:

# secv. -f '%g\x41' 3
1\x41
2\x41
3\x41

seq pe FreeBSD și NetBSD:

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

seq pe DragonFlyBSD:

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

enumerare unscape „\x41” la „A” de asemenea:

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

Pe o notă secundară, „\x25” produce un „%” literal; nu face un substituent:

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

OMITEREA FINAL LINIE NOUĂ
Prin precizarea -n ca parametru, puteți face enumerare omite linia nouă de sfârșit.

DIFERENȚE
GNU seq --lățime egală scurtătură -w conflicte cu jot's -w cuvânt. Am ales să facem -e il
scurtătură pentru --lățime egală in enumerare, in schimb.

De asemenea, în timp ce GNU seq este licențiat sub GPL v3 sau o versiune ulterioară, enumerare este licențiat sub Noul BSD
licență.

MULȚUMESC


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

AUTORI


Jan Hauke ​​Rahm[e-mail protejat]>

Sebastian Pipping[e-mail protejat]>

RESURSE


Site-ul web principal: https://fedorahosted.org/enum/

Gitweb: http://git.fedorahosted.org/git/?p=enum.git

Utilizați enumerarea online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.