Un mic tutorial despre sed și awk

Această anexă conține o scurtă descriere a modului de a lucra cu instrumente de procesare de text SED și awk. Se va discuta câteva comenzi de bază, care, în principiu, va fi suficient pentru a învăța să înțeleagă cele mai simple de design sed și awk script-uri în interiorul unei limbi shell.







awk. limba de procesare a șabloanelor cu sintaxă asemănătoare C

Pentru toate diferențele, aceste două utilități au o sintaxă similară, ambii știu să lucreze cu expresii regulate. atât, în mod prestabilit, citiți datele de la dispozitivul stdin și ambele extrag rezultatul procesării către dispozitivul stdout. Ambele sunt utilități ale sistemelor UNIX și pot interacționa perfect între ele. Ieșirea dintr-o poate fi redirecționată, de-a lungul unei conducte, la intrarea celuilalt. Combinația lor dă scripturile, în limbajul shell-ului, puterea și flexibilitatea limbajului Perl.

O diferență importantă este că, în cazul SED, script-ul poate trece cu ușurință argumentele de utilitate, în timp ce, în cazul awk (vezi. Exemplul 33-3 și Exemplul 9-22), este mai dificil.







Dintre toate varietățile de operațiuni, ne vom concentra pe cele trei cele mai des utilizate. Această imprimare p (pe stdout), d-delete și s-replace.

Tabelul B-1. Operații de bază

Înlocuirea unui șir cu un șir gol este echivalentă cu ștergerea unei porțiuni a șirului care corespunde modelului. Restul liniei rămâne neschimbată. De exemplu, s / GUI //. va schimba următoarea linie

Simbolul backslash reprezintă un caracter de linie nouă, ca personaj de înlocuire. În acest caz, expresia de înlocuire continuă pe următoarea linie.

Această instrucțiune va înlocui spațiile de conducere din șir cu caracterul de linie nouă. Rezultatul așteptat este înlocuirea liniuțelor la începutul paragrafului cu linii goale.

Specificarea unui interval de linii care precedă una sau mai multe instrucțiuni poate necesita încheierea instrucțiunilor în bretele, cu caracterele corespunzătoare de alimentare a liniei.

În acest caz, vor fi șterse numai primele câteva linii goale consecutive. Aceasta poate fi utilizată pentru a seta intervalele de o singură linie într-un fișier, lăsând, în același timp, linii goale între paragrafe.

O modalitate rapidă de a seta spațierea cu două rânduri în fișierele text este numele fișierului sed.







Articole similare

Trimiteți-le prietenilor: