Treisprezece instrumente utile pentru lucrul cu textul pe linia de comandă

Treisprezece instrumente utile pentru lucrul cu textul pe linia de comandă

Distribuțiile GNU / Linux includ o multitudine de programe pentru manipularea textului, majoritatea fiind furnizate de utilitățile de bază GNU. Există oarecum o curbă de învățare, dar aceste utilități se pot dovedi foarte utile și eficiente atunci când sunt utilizate corect.

Iată treisprezece instrumente puternice de manipulare a textului pe care ar trebui să le cunoască fiecare utilizator din linia de comandă.

1. pisică

Cat a fost conceput pentru a conpisicăenate fișiere, dar este cel mai adesea folosit pentru a afișa un singur fișier. Fără argumente, cat citește intrarea standard până la Ctrl + D este apăsat (de la terminal sau de la o altă ieșire de program dacă se utilizează o conductă). Intrarea standard poate fi, de asemenea, specificată explicit cu un -.

Cat are o serie de opțiuni utile, în special:

  • -A tipărește „$” la sfârșitul fiecărei linii și afișează caractere care nu se tipăresc folosind notația caret.
  • -n numerotează toate liniile.
  • -b linii numerice care nu sunt goale.
  • -s reduce o serie de linii goale la o singură linie goală.

În exemplul următor, concatenăm și numerotăm conținutul fișierului 1, intrării standard și fișierului 3.

2. sortează

După cum sugerează și numele său, sort sortează conținutul fișierului alfabetic și numeric.

Sortare instrumente de text Linux

3. uniq

Uniq preia un fișier sortat și elimină liniile duplicate. Este adesea înlănțuit cu sort într-o singură comandă.

Instrumente de text Linux Uniq

4. com

Comm este folosit pentru a compara două fișiere sortate, rând cu rând. Se afișează trei coloane: primele două coloane conțin linii unice pentru primul și respectiv al doilea fișier, iar a treia afișează cele găsite în ambele fișiere.

Linux Text Tools Comm

5. tăiat

Tăiere este utilizată pentru a prelua secțiuni specifice de linii, pe baza caracterelor, câmpurilor sau octeților. Poate citi dintr-un fișier sau dintr-o intrare standard dacă nu este specificat niciun fișier.

Tăierea după poziția personajului

-c opțiunea specifică o poziție a unui singur caracter sau unul sau mai multe intervale de caractere.

De exemplu:

  • -c 3: al treilea personaj.
  • -c 3-5: de la al 3-lea la al 5-lea personaj.
  • -c -5 sau -c 1-5: de la personajul 1 la 5.
  • -c 5-: de la al 5-lea personaj până la sfârșitul liniei.
  • -c 3,5-7: al 3-lea și de la al 5-lea până la al 7-lea personaj.
Instrumente de text Linux Cut Char

Tăierea pe câmp

Câmpurile sunt separate printr-un delimitator format dintr-un singur caracter, care este specificat cu -d opțiune. -f opțiunea selectează o poziție de câmp sau unul sau mai multe intervale de câmpuri utilizând același format ca mai sus.

Instrumente de text Linux Câmp tăiat

6. dos2unix

GNU / Linux și Unix termină de obicei liniile de text cu un avans de linie (LF), în timp ce Windows folosește returul de transport și feedul de linie (CRLF). Problemele de compatibilitate pot apărea la manipularea textului CRLF pe Linux, unde intervine dos2unix. Convertește terminatorii CRLF în LF.

În exemplul următor, file comanda este utilizată pentru a verifica formatul textului înainte și după utilizare dos2unix.

Instrumente de text Linux Dos2unix

7. ori

Pentru a ușura citirea și manipularea liniilor lungi de text, puteți utiliza fold, care împachetează liniile la o lățime specificată.

Foldul se potrivește în mod implicit cu lățimea specificată, rupând cuvintele acolo unde este necesar.

Instrumente de text Linux Fold

Dacă spargerea cuvintelor nu este de dorit, puteți utiliza -s opțiune de a sparge la spații.

Instrumente de text Linux Pliați spațiile

8. iconv

Acest instrument convertește textul dintr-o codificare în alta, ceea ce este foarte util atunci când se ocupă de codificări neobișnuite.

  • „Input_encoding” este codarea din care faceți conversia.
  • „Output_encoding” este codificarea la care vă convertiți.
  • „Output_file” este numele fișierului în care va fi salvat pictograma.
  • „Input_file” este numele fișierului iconv din care se va citi.

Notă: puteți lista codurile disponibile cu iconv -l

9. sed

sed este un sistem puternic și flexibil stream editor, cel mai frecvent utilizat pentru a găsi și a înlocui șiruri cu următoarea sintaxă.

Următoarea comandă va citi din fișierul specificat (sau intrarea standard), înlocuind părțile de text care se potrivesc cu modelul de expresie regulat cu șirul de înlocuire și trimitând rezultatul la terminal.

Pentru a modifica fișierul original, puteți utiliza fișierul -i steag.

Instrumente de text Linux Sed

10. wc

wc utilitarul imprimă numărul de octeți, caractere, cuvinte sau linii dintr-un fișier.

Instrumente de text Linux Wc

11. divizat

Poți să folosești split pentru a împărți un fișier în fișiere mai mici, după numărul de linii, după dimensiune sau la un anumit număr de fișiere.

Împărțirea după numărul de linii

Instrumente de text Linux Linii divizate

Împărțirea pe octeți

Instrumente de text Linux Împărțiți octeți

Împărțirea la un anumit număr de fișiere

Instrumente de text Linux Număr divizat

12. tac

Tac, care este cat invers, face exact asta: afișează fișierele cu liniile în ordine inversă.

Instrumente de text Linux Tac

13. tr

Instrumentul tr este folosit pentru a traduce sau șterge seturi de caractere.

Un set de caractere este de obicei fie un șir, fie intervale de caractere. De exemplu:

  • „AZ”: toate literele majuscule
  • „A-z0-9”: litere mici și cifre
  • „ N[:punct:]”: Caractere newline și punctuație

Consultați tr pagina manuală pentru mai multe detalii.

Pentru a traduce un set în altul, utilizați următoarea sintaxă:

De exemplu, pentru a înlocui caracterele mici cu echivalentul lor cu majuscule, puteți utiliza următoarele:

Instrumente de text Linux Tr

Pentru a șterge un set de caractere, utilizați -d steag.

Instrumente de text Linux Tr D

Pentru a șterge complementul unui set de caractere (adică orice, cu excepția setului), utilizați -dc.

Instrumente de text Linux Tr Dc

Concluzie

Există multe de învățat când vine vorba de linia de comandă Linux. Sperăm că comenzile de mai sus vă pot ajuta să tratați mai bine textul din linia de comandă.