EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

ffe - Online în cloud

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

Aceasta este comanda ffe 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


ffe - extractor de fișiere plat

REZUMAT


FFE [Opțiuni] ...

DESCRIERE


FFE este un program pentru extragerea câmpurilor din înregistrările fișierelor plate și afișarea lor în
diferite formate. FFE se bazează pe fișierul de configurare pentru a controla structura fișierului de intrare
și formatul de ieșire.

OPŢIUNI


FFE acceptă următoarele opțiuni:

-c, --configuration=fişier
Citiți configurația de la fişier, implicit este ~/.fferc.

-s, --structură=STRUCTURA
Fișierul de intrare este procesat folosind structura STRUCTURA.

-p, --print=FORMAT
Utilizați formatul de ieșire FORMAT pentru imprimare. Toată tipărirea poate fi suprimată folosind format
Nu.. Datele originale sunt tipărite folosind formatul crud.

-o, --ieșire=NUME
Scrie ieșire în NUME în loc de ieșire standard.

-f, --field-list=LISTA
Imprimați numai câmpurile și constantele specificate în lista separată prin virgulă LISTA.

-e, --expresie=EXPRESIE
Tipăriți numai acele înregistrări pentru care EXPRESIE evaluează la adevărat.

-a, --și
Expresiile sunt combinate cu logic și, implicit este logic sau.

-X, --casecmp
Expresiile sunt evaluate fără a ține seama de majuscule și minuscule.

-v, --invers-potrivire
Tipăriți numai acele înregistrări care nu se potrivesc cu expresia.

-l, --lejer
O linie de intrare nevalidă nu determină întreruperea programului.

-r, --inlocuieste=CAMP=VALUE
Înlocui CAMPs continut cu VALUE în ieșire. VALUE poate conține aceleași directive ca
opțiunea de ieșire de date.

-d, --depanare
Toate liniile de intrare nevalide sunt scrise în fișierul ffe_error_ .Buturuga.

-I, --info
Afișați informațiile despre structură în fișierul de configurare și ieșiți.

-?, --Ajutor
Listați toate opțiunile disponibile și semnificațiile acestora și ieșiți.

-V, --versiune
Afișați versiunea programului și ieșiți.

Toate argumentele rămase sunt nume ale fișierelor de intrare; dacă nu sunt specificate fișiere de intrare, atunci
se citește intrarea standard.

Expresii (opțiune -e, --expresie)
Expresia poate fi folosită pentru a selecta înregistrări specifice care compară valorile câmpului.

În cazul în care valoare începe cu șirul „fișier:”, apoi restul valoare este considerat ca un dosar
Nume. Fiecare linie din fișier este folosită ca valoare în comparație. Înregistrarea va fi selectată dacă
una sau mai multe valori evaluează adevărat.

Notarea expresiei:

camp=valoare
O înregistrare va fi selectată dacă câmpul camp este egală cu valoarea valoare.

camp^valoare
O înregistrare va fi selectată dacă câmpul camp începe cu valoarea valoare.

camp~valoare
O înregistrare va fi selectată dacă câmpul camp conţine valoarea valoare.

camp!valoare
O înregistrare va fi selectată dacă câmpul camp nu este egal cu valoarea valoare.

camp?valoare
O înregistrare va fi selectată dacă câmpul camp se potrivește cu expresia regulată în
valoare.

FFE CONFIGURARE


FFE folosește fișierul de configurare pentru extragerea câmpurilor din fișierul de intrare și pentru
formatarea câmpurilor pentru ieșire. Fiecare linie sau bloc binar al fișierului de intrare este
considerată ca un record. Fișierul de configurare implicit este ~/.fferc dar un alt fișier poate fi
dat cu opțiunea „-c”.

Fișier de configurare pentru FFE este un fișier text. Fișierul poate conține linii goale. Comenzile sunt
caz sensibil. Comentariile încep cu caracterul # și se termină la sfârșitul rândului.
şir și car de război definițiile pot fi cuprinse între ghilimele duble „””. car de război
este un singur personaj. şir și car de război poate conține următoarele coduri de evacuare:
'\a','\b','\t','\n','\v','\f', '\r', '\"' şi '\#'. Caracterul '\' poate fi scăpat ca „\\”.

Substituția comenzii permite ieșirea unei comenzi pentru a înlocui părți ale configurației
fişier. Sintaxa pentru înlocuirea comenzii este:
`comandă`
comandă este executat și `comandă` este înlocuit cu ieșirea standard a lui
comandă, cu toate liniile noi de sfârșit șterse. Substituțiile de comandă nu pot fi imbricate.

Înainte de a executa comandă ffe setează câteva variabile de mediu:

FFE_STRUCTURE
Numele structurii dat folosind -s,--structure.

FFE_OUIPUT
Numele fișierului de ieșire dat folosind -o,--output.

FFE_FORMAT
Numele formatului de ieșire dat folosind -p,--print.

FFE_FIRST_FILE
Numele primului fișier de intrare.

FFE_FILES
O listă cu toate fișierele de intrare.

Dacă variabila este deja setată, aceasta nu va fi înlocuită.

Intrare fişier structura
Structurile fișierelor de intrare sunt specificate cu cuvinte cheie structura:

structura nume {Opțiuni...}

Opțiunile trebuie să se încheie cu noua linie, opțiunile sunt:

tip fixată|binar|separat [car de război] [*]
Câmpurile introduse sunt câmpuri de text cu lungime fixă, câmpuri binare cu lungime fixă ​​sau
câmpuri de text separate prin car de război. Dacă este dat *, separatorii secvenţiali multipli sunt
considerată ca una. Separatorul implicit este virgulă.

citat [car de război]
Câmpurile pot fi citate cu car de război, ghilimelele implicite sunt ghilimele duble
'"'. Se presupune că ghilimelele sunt eliminate ca \car de război sau dublarea nota ca
charchar în intrare. Ghilimelele care nu au evadat nu sunt păstrate în ieșire.

antet primul|toate|Nu.
Controlează apariția liniei de antet. Implicit este nu. Dacă se setează ca primul sau toate,
prima linie a primului fișier de intrare este considerată ca linie antet care conține
denumirile câmpurilor. Prima înseamnă că numai primul fișier are antet, toate mijloacele
că toate fișierele au un antet, deși numele sunt încă preluate din antetul lui
primul dosar. Linia antetului este tratată conform definiției înregistrării, adică
că pozițiile numelui, separatorii etc. sunt aceleași ca pentru câmpuri.

producție nume
Toate înregistrările care aparțin acestei structuri sunt tipărite conform formatului de ieșire nume.
Implicit este să utilizați ieșirea numită „implicit”.

record nume {Opțiuni...}
Definește o înregistrare pentru o structură. O structură poate conține mai multe tipuri de înregistrări.

Record opţiuni:
id poziţie şir

scăpa poziţie expresie regulată
Identifică o înregistrare în fișierul de intrare. Înregistrările sunt identificate de şir sau prin
expresia regulată în expresie regulată în poziţia de înregistrare de intrare poziţie. Pentru fix
lungime și intrare binară poziţie este poziția octetului înregistrării de intrare și
pentru intrare separată poziţie înseamnă poziţie„al-lea câmp al înregistrării de intrare.
Pozițiile încep de la unul.

IdE-urile sunt necesare numai dacă structura de intrare conține mai multe tipuri de înregistrări egale
lungimi sau număr de câmpuri. Caracterele care nu pot fi imprimate pot fi evadate ca \xnn Unde nn
este valoarea hexazecimală a caracterului.

O definiție de înregistrare poate conține mai multe idale lui, apoi toate id'd trebuie să se potrivească cu intrarea
linie (id's sunt combinate cu logic și).

Într-o structură binară cu mai multe înregistrări, fiecare înregistrare trebuie să aibă cel puțin una id.

camp nume|MATERIAL DE UMPLUTURĂ|* [lungime]|* [căutare]|* [producție]
Specifică un câmp într-o structură de introducere a textului. lungime este obligatoriu pentru lungime fixă
structura de intrare cu excepția ultimului câmp. Dacă ultimul câmp de lungime fixă
structura de intrare are a * în loc de lungime atunci ultimul câmp poate avea arbitrar
lungime.

Lungimea este, de asemenea, utilizată pentru tipărirea câmpurilor în format de lungime fixă ​​folosind %D or %D
directivă. Ordinea câmpurilor în fișierul de configurare este esențială, specifică
ordinea câmpurilor într-o înregistrare.

Dacă în locul numelui este dat „*”, atunci „numele” va fi numărul ordinal al
câmpul sau dacă opțiunea „antet” are valoarea „primul” sau „toate”, atunci numele lui
câmpul va fi preluat din linia antetului (prima linie a intrării).

If căutare este dat, apoi conținutul câmpurilor este folosit pentru a face o căutare în căutare
tabel căutare. Dacă lungimea nu este necesară (format separat), dar este necesară căutarea, utilizați
asterisc (*) în locul definiției lungimii.

If producție câmpul este dat este tipărit folosind output producție. Folosiți asteriscul în loc de
căutare dacă căutarea nu este necesară.

Numirea câmpului ca FILLER face ca câmpul să nu fie imprimat în ieșire.

camp nume|MATERIAL DE UMPLUTURĂ|* [lungime]|tip [căutare]|* [producție]
Specifică un câmp într-o structură de intrare binară. Toate celelalte caracteristici sunt aceleași ca pentru
structura textului, cu excepția tip parametru. tip specifică tipul datelor de câmp și
lungime și poate avea următoarele valori:

car de război Caracter imprimabil.

mic de statura Întregul scurt având lungimea curentă a sistemului și ordinea octeților.

int Număr întreg având lungimea curentă a sistemului și ordinea octeților.

lung Număr întreg lung având lungimea curentă a sistemului și ordinea octeților.

lung Întreg lung lung având lungimea curentă a sistemului și ordinea octeților.

scurt Număr întreg scurt fără semn cu lungimea curentă a sistemului și ordinea octeților.

int Număr întreg fără semn având lungimea curentă a sistemului și ordinea octeților.

ulong Număr întreg lung fără semn care are lungimea curentă a sistemului și ordinea octeților.

ullong Număr întreg lung lung nesemnat, având lungimea curentă a sistemului și ordinea octeților.

int8 întreg de 8 biți.

int16_be Big endian întreg de 16 biți.

int32_be Big endian întreg de 32 biți.

int64_be Big endian întreg de 64 biți.

int16_le Little endian întreg de 16 biți.

int32_le Little endian întreg de 32 biți.

int64_le Little endian întreg de 64 biți.

uint8 Număr întreg de 8 biți fără semn.

uint16_be Număr întreg de 16 biți big endian nesemnat.

uint32_be Număr întreg de 32 biți big endian nesemnat.

uint64_be Număr întreg de 64 biți big endian nesemnat.

uint16_le Little Endian fără semnătură întreg pe 16 biți.

uint32_le Little Endian fără semnătură întreg pe 32 biți.

uint64_le Little Endian fără semnătură întreg pe 64 biți.

pluti Float având lungimea curentă a sistemului și ordinea octeților.

float_be Float având lungimea curentă a sistemului și ordinea octetilor big endian.

float_le Float având lungimea curentă a sistemului și ordinea octetilor little endian.

dubla Dublu având lungimea curentă a sistemului și ordinea octeților.

dublu_fi Dublu având lungimea curentă a sistemului și ordinea octetilor big endian.

double_le Dublu având lungimea curentă a sistemului și ordinea octetilor little endian.

bcd_be_len Numărul Bcd având lungime len și nibbles în ordine big endian.

bcd_le_len Numărul Bcd având lungime len și ciugulește în ordinea Little Endian.

hex_be_len Date hexazecimale în ordinea big endian având lungime len.

hex_le_len Date hexazecimale în ordine mic endian având lungime len.

If lungime este dat în loc de tip, atunci câmpul se presupune a fi imprimabil
sfoară având lungime lungime. String este imprimat până la lungime caracterele sunt tipărite
sau caracterul NULL este găsit.

Număr Bcd (bcd_be_len și bcd_le_len) este tipărită până la len octeții sunt citiți sau a
nybble având valoare hexazecimală f e gasit. Numărul Bcd având ordinea Big Endian este
tipărit în ordine: cel mai semnificativ nybble primul și cel mai puțin semnificativ nybble al doilea
iar numărul bcd având o ordine mică endian este tipărit în ordinea: cel mai puțin semnificativ
nybble primul și cel mai semnificativ nybble al doilea. Octeții se citesc întotdeauna în mare
ordine endian.

date hexazecimale (hex_be_len și hex_le_len) este tipărită ca valori hexazecimale. Mare
datele endian sunt tipărite pornind de la adresa inferioară și datele little endian
începând de la adresa superioară.

număr de câmpuri număr
Același efect ca și a avea camp * număr ori. Pentru că lungimea nu este specificată, aceasta
functioneaza numai cu structura separata.

câmpuri-de la record
Câmpurile pentru această înregistrare sunt aceleași cu cele pentru înregistrare record.

producție nume
Această înregistrare este tipărită conform formatului de ieșire nume. Implicit este folosirea ieșirii
format specificat în structură.

nivel număr [nume_element|*] [numele Grupului]
Level poate fi folosit dacă conținutul unui fișier trebuie tipărit ca ierarhic
document formular imbricat pe mai multe niveluri. Folosiți * în locul numelui elementului dacă nu este
Necesar. numărul este nivelul înregistrării, începând de la numărul unu (cel mai mare
nivel), nume_element este numele pentru înregistrare, numele Grupului este folosit pentru grupare
înregistrări la niveluri identice și inferioare. Numai număr este un parametru obligatoriu.

lungime-înregistrare strict|minim

strict Lungimea înregistrării de intrare și numărul de câmpuri trebuie să se potrivească cu definiția înregistrării din
pentru a-l procesa. Aceasta este valoarea implicită.

minim Lungimea înregistrării de intrare și numărul de câmpuri pot fi identice sau mai lungi așa cum sunt definite
pentru consemnare. Restul liniei de intrare este ignorată.

producție Definitii
Pot exista mai multe definiții de ieșire în fișierul de configurare. Formatul poate fi selectat
cu opțiunea „-p”. Formatul implicit este denumit „implicit”.

producție nume|lipsă {Opțiuni...}
Definește un format de ieșire. Ieșirea numită „implicit” va fi utilizată dacă nu este dată niciuna
pentru structură sau înregistrare, sau niciunul nu este dat cu opțiunea „-p”.

Există două formate de ieșire predefinite Nu. și crud. Nu. suprimă toate tipărirea și
crud imprimă datele originale de intrare.

producție Opțiuni
Imaginile din definiția de ieșire pot conține %-directive în stil printf:

%f Numele fișierului de intrare.

%s Numele structurii curente.

%r Numele înregistrării curente.

%o Introduceți numărul de înregistrare în fișierul curent.

%O Introduceți numărul de înregistrare începând de la primul fișier.

%i Offset de octeți a înregistrării curente din fișierul curent. Începe de la zero.

%I Offset de octeți a înregistrării curente începând de la primul fișier. Începe de la zero.

%n Numele domeniului.

%t Conținutul câmpului, fără spații albe de început și de final.

%d Conținutul câmpului. Numărul întreg binar este imprimat ca valoare zecimală. Număr în virgulă mobilă
este imprimat în stil [-]ddd.ddd, unde numărul de cifre după
caracterul cu virgulă zecimală este 6. Numărul Bcd este tipărit ca număr zecimal și
date hexazecimale ca valori hexazecimale consecutive.

%D Conținutul câmpului, completat la dreapta la lungimea câmpului (necesită definirea lungimii pentru
campul).

%C Conținutul câmpului, completat la dreapta la lungimea câmpului (necesită definirea lungimii pentru
campul). Câmpul de ieșire este tăiat dacă câmpul de intrare este mai lung decât lungimea câmpului.

%x Valoarea hexazecimală fără semn a unui număr întreg binar. Alte câmpuri sunt tipărite folosind
directivă %d.

%l Valoare din căutare.

%L Valoarea din căutare, completată la dreapta la lungimea câmpului (necesită definirea lungimii pentru
campul).

%e Nu imprimă nimic, determină încă verificarea „câmp gol”. Poate sa
poate fi utilizat atunci când trebuie tipărite numai numele câmpurilor negoale.

%p Câmpurile încep poziția într-o înregistrare. Pentru o structură fixă, acesta este octetul câmpului
poziția în linia de intrare și pentru structura separată acesta este numărul ordinal
a câmpului. Începe de la unu.

%h Depozitarea hexazecimală a unui câmp. Valorile octetilor sunt tipărite consecutiv xn valori,
unde nn este valoarea hexazecimală a unui octet. Datele sunt tipărite înaintea oricărui endian
conversie.

%g Numele grupului dat de cuvântul cheie numele Grupului în definiția de înregistrare.

%m Numele elementului dat de cuvântul cheie nume_element în definiția de înregistrare.

%% Semn de procente.

antet_fișier imagine
Imaginea este imprimată o dată înainte de conținutul fișierului.

file_trailer imagine
Imaginea este imprimată o dată după conținutul fișierului.

antet imagine
Dacă este specificat, atunci linia de antet care descrie numele câmpurilor este tipărită înainte
înregistrări. Fiecare nume de câmp este tipărit conform imagine folosind la fel
separator și lungimea câmpurilor așa cum este definită pentru câmpuri. Imagine poate conţine numai %n
directivă.

de date imagine
Conținutul câmpului este tipărit conform imagine.

căutare imagine
Dacă câmpul este mapat la tabelul de căutare, această imagine va fi folosită în loc de imagine
din de date opțiune. Dacă nu este dat, atunci imaginea din de date va fi folosit.

separator şir
Toate câmpurile sunt încheiate de şir, cu excepția ultimului câmp al înregistrării. Mod implicit
nu este de a imprima separator.

record_header imagine
imagine este tipărită înainte de conținutul înregistrării. Implicit nu este imprimarea antetului.

record_trailer imagine
imagine este tipărită după conținutul înregistrării. Implicit este noua linie.

justifica stânga|dreapta|car de război
Câmpurile sunt justificate la stânga sau la dreapta. car de război justifică producția conform primului
aparitia car de război în imaginea de date. Implicit este lăsat.

liniuță şir
Conținutul de înregistrare este destinat de şir. Conținutul câmpului este destinat de două ori
şir. Implicit nu este indentarea.

listă de câmpuri nume1,nume2, ...
Numai câmpurile sau constantele numite ca nume1,nume2,... sunt imprimate, același efect ca și
opțiunea „-f”. Implicit este tipărirea tuturor câmpurilor. Câmpurile sunt, de asemenea, tipărite în
aceeași ordine în care sunt listate.

fără imprimare de date da|Nu.
Când se setează ca nu și listă de câmpuri este dat, suprimă tipărirea record_header și
record_trailer în cazul în care înregistrarea curentă nu conține niciunul dintre câmpurile specificate
in listă de câmpuri.

câmp-vide-tipărire da|Nu.
Când este setat ca nu, nu este tipărit nimic pentru câmpurile care constau în întregime din caractere
din caractere goale. Dacă niciunul dintre câmpurile unei înregistrări nu este tipărit, atunci imprimarea
of record_trailer este de asemenea suprimat. Implicit este da.

caractere goale şir
şir specifică un set de caractere care definesc un câmp „gol”. Implicit este "
\f\n\r\t\v" (spațiu, avans de formular, linie nouă, întoarcere la cărucior, filă orizontală și
filă verticală).

fisier de iesire fişier
Ieșirea este scrisă în fişier în loc de ieşirea implicită. Dacă - este dat standardul
ieșirea este utilizată.

grup_header şir
Dacă o înregistrare are un nivel și un nume de grup definit, şir este tipărită înaintea primei
înregistrarea în același grup sau dacă numele grupului s-a schimbat la același nivel

grup_remorcă şir
Dacă o înregistrare are un nivel și un nume de grup definit, şir este tipărită după înregistrări
la nivelurile inferioare sau dacă numele grupului s-a schimbat la același nivel sau dacă unul superior
se găsește înregistrarea de nivel.

element_header şir
Dacă înregistrarea are un nivel și un nume de antet definit, şir este tipărită înaintea înregistrărilor
cuprins.

element_header şir
Dacă înregistrarea are un nivel și un nume de antet definit, şir este tipărită după înregistrări
cuprins.

capace hexagonale da|Nu.
Tipăriți numerele hexazecimale cu majuscule. Implicit este nu.

Căutare Definitii
căutare nume {Opțiuni...}
Definește un tabel de căutare.

Căutare opţiuni:
căutare exact|cea mai lungă
Tipul de căutare pentru tabelul de căutare.

valoare implicită valoare
valoare este tipărit dacă căutarea nu are succes.

pereche cheie valoare
O pereche cheie/valoare pentru tabelul de căutare.

fişier nume [separator]
Perechile cheie/valoare sunt citite din fișier nume. Fiecare linie este considerată o cheie/valoare
pereche separate prin separator. Separatorul implicit este punct și virgulă.

constante
Valorile constantelor suplimentare la câmpurile de intrare pot fi imprimate folosind opțiunea -f,--lista-câmpuri or
opțiunea de ieșire listă de câmpuri. Constanta va fi tipărită folosind de date opțiune de ieșire.

Constantele sunt specificate ca

CONST nume valoare
când nume apare într-o listă de câmpuri, valoare va fi tipărit pentru fiecare înregistrare ca
il nume au fost unul dintre câmpurile de intrare.

Intrare Preprocesor
Este posibil să se definească un preprocesor de intrare pentru FFE. Un preprocesor de intrare este pur și simplu un
program executabil care scrie conținutul fișierului de intrare la ieșirea standard care
va fi citit de FFE. Dacă preprocesorul de intrare nu scrie niciun caracter pe el
ieșire standard, atunci FFE folosește fișierul original.

Pentru a configura un preprocesor de intrare, setați FFEOPEN variabilă de mediu la o linie de comandă
care va invoca preprocesorul dvs. de intrare. Această linie de comandă ar trebui să includă o singură apariție
de sfoară %s, care va fi înlocuit cu numele fișierului de intrare când preprocesorul de intrare
comanda este invocată.

Preprocesorul de intrare nu este utilizat dacă FFE citește intrarea standard.

EXEMPLE


Exemplu de fișier plat cu lungime fixă ​​care conține câmpurile „Prenume”, „Nume” și „Vârsta”:

John Ripper 23
Scott Tiger 45
Mary Moore 41

Acest fișier poate fi tipărit în XML cu următoarea configurație:

personal de structură {
tip fix
ieșire XML
persoană record {
câmp Prenume 9
câmpul Nume 13
câmp Vârsta 2
}
}

ieșire XML {
file_header " \n"
datele „<%n>%d \n"
record_header „<%r>\n”
record_trailer " \n"
liniuță " "
}

Utilizați ffe online folosind serviciile onworks.net


Servere și stații de lucru gratuite

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

Comenzi Linux

Ad