sed

Sed Eliminați spațiul alb

Sed Eliminați spațiul alb
Eliminarea spațiilor albe din documente este un pas esențial de formatare care este necesar pentru a îmbunătăți aspectul general al unui text și pentru a se asigura că datele sunt curate și ordonate. Vă ajută să stocați doar datele necesare și să scăpați de spațiile de conducere și de spate inutile. Următoarele sunt câteva scenarii în care poate fi necesar să eliminați spațiile albe:

Dacă vorbim despre spațiile albe principale, acestea sunt relativ ușor de observat, așa cum sunt la începutul textului. Cu toate acestea, nu este ușor să observați spațiile albe care se află în urmă. Același lucru este cazul cu spațiile duble, care sunt, de asemenea, uneori dificil de observat. Totul devine mai provocator atunci când trebuie să eliminați toate acele spații albe care conduc și care se află în urmă dintr-un document care conține mii de rânduri.

Pentru a elimina spațiile albe din document, puteți utiliza diverse instrumente, cum ar fi awk, sed, cut și tr. În alte câteva articole, am discutat despre utilizarea awk în eliminarea spațiilor albe. În acest articol, vom discuta despre utilizarea sed pentru eliminarea spațiilor albe din date.

Veți învăța cum să utilizați sed pentru:

Vom rula comenzile pe Ubuntu 20.04 Focal Focal. De asemenea, puteți rula aceleași comenzi pe alte distribuții Linux. Vom folosi aplicația implicită Terminal Ubuntu pentru rularea comenzilor. Pentru a deschide terminalul, utilizați comanda rapidă de la tastatură Ctrl + Alt + T.

Ce este Sed

Sed (înseamnă editor de flux) este un utilitar foarte puternic și la îndemână în Linux care ne permite să efectuăm manipulări de bază ale textului pe fluxurile de intrare. Nu este un editor de text, dar ajută la manipularea și filtrarea textului. Acesta primește fluxurile de intrare și îl editează conform instrucțiunilor utilizatorului și apoi imprimă textul transformat pe ecran.

Cu sed, puteți:

Utilizarea Sed pentru a elimina spațiile albe

Vom folosi următoarea sintaxă pentru eliminarea spațiilor albe din text:

s / REGEXP / înlocuire / semnalizatoare

Unde

Expresii obisnuite

Câteva dintre expresiile regulate pe care le vom folosi aici sunt:

În scop demonstrativ, vom folosi următorul exemplu de fișier numit „testfile”.

Vizualizați toate spațiile albe dintr-un fișier

Pentru a găsi toate spațiile albe din fișierul dvs., conduceți ieșirea comenzii cat la comanda tr astfel:

$ cat testfile | tr "" "*" | tr "\ t" "&"

Această comandă înlocuiește toate spațiile albe din fișierul dvs. cu simbolul (*), ceea ce face mai ușor să identificați toate spațiile albe indiferent dacă acestea sunt spații albe unice, multiple, principale sau finale.

În următoarea captură de ecran, puteți vedea spațiile albe sunt înlocuite cu simbolul *.

Eliminați toate spațiile albe (inclusiv spațiile și filele)

În unele cazuri, trebuie să eliminați toate spațiile albe din date, i.e. conducerea, urmărirea și spațiile albe dintre texte. Următoarea comandă va elimina toate spațiile albe din „fișierul de testare”.

$ cat testfile | sed -r 's / \ s + // g'

Notă: Sed nu vă modifică fișierele decât dacă salvați ieșirea în fișier.

Ieșire:

După executarea comenzii de mai sus, a apărut următoarea ieșire, care arată că toate spațiile albe au fost eliminate din text.

De asemenea, puteți utiliza următoarea comandă pentru a verifica dacă toate spațiile albe au fost eliminate.

$ cat testfile | sed -r 's / \ s + // g' | tr "" "*" | tr "\ t" "&"

Din ieșire, puteți vedea că nu există nici un simbol (*) ceea ce înseamnă că toate spațiile albe au fost eliminate.

Pentru a elimina toate spațiile albe, dar numai dintr-o anumită linie (să presupunem linia numărul 2), puteți utiliza următoarea comandă:

$ cat testfile | sed -r '2s / \ s + // g'

Eliminați toate spațiile albe principale (inclusiv spațiile și filele)

Pentru a elimina toate spațiile albe de la începutul fiecărei linii (spațiile albe care conduc), utilizați următoarea comandă:

$ cat testfile | sed 's / ^ [\ t] * //'

Ieșire:

Următoarea ieșire a apărut după executarea comenzii de mai sus, care arată că toate spațiile albe principale au fost eliminate din text.

De asemenea, puteți utiliza următoarea comandă pentru a verifica dacă toate spațiile albe principale au fost eliminate:

$ cat testfile | sed 's / ^ [\ t] * //' | tr "" "*" | tr "\ t" "&"

Din ieșire, puteți vedea că nu există nici un simbol (*) la începutul liniilor care verifică dacă toate spațiile albe principale sunt eliminate.

Pentru a elimina spațiile albe de la o anumită linie (să presupunem numărul 2), puteți utiliza următoarea comandă:

$ cat testfile | sed '2s / ^ [\ t] * //'

Eliminați toate spațiile albe finale (inclusiv spațiile și filele)

Pentru a elimina toate spațiile albe de la sfârșitul fiecărei linii (spații albe finale), utilizați următoarea comandă:

$ cat testfile | sed 's / [\ t] * $ //'

Ieșire:

Următoarea ieșire a apărut după executarea comenzii de mai sus, care arată că toate spațiile albe au fost eliminate din text.

De asemenea, puteți utiliza următoarea comandă pentru a verifica dacă toate spațiile albe au fost eliminate.

$ cat testfile | sed 's / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Din ieșire, puteți vedea că nu există nici un simbol (*) la sfârșitul liniilor care verifică dacă toate spațiile albe sunt eliminate.

Pentru a elimina spațiile albe de pe o linie specifică (să presupunem numărul 2), puteți utiliza următoarea comandă:

$ cat testfile | sed '2s / [\ t] * $ //'

Eliminați atât spațiile albe principale, cât și cele finale

Pentru a elimina toate spațiile albe atât de la începutul, cât și de la sfârșitul fiecărei linii (i.e. atât spațiile albe principale, cât și cele finale), utilizați următoarea comandă:

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //'

Ieșire:

Următoarea ieșire a apărut după ce ați executat comanda de mai sus, care arată că atât spațiul alb principal, cât și cel final au fost eliminate din text.

De asemenea, puteți utiliza următoarea comandă pentru a verifica dacă atât spațiul alb principal, cât și cel final au fost eliminate.

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Din ieșire, puteți vedea că nu există nici un simbol (*) la începutul sau la sfârșitul liniilor care verifică faptul că toate spațiile albe de început și de sfârșit sunt eliminate.

Pentru a elimina atât spațiile albe de început, cât și cele finale dintr-o anumită linie (să presupunem linia numărul 2), puteți utiliza următoarea comandă:

$ cat testfile | sed '2s / ^ [\ t] * //; 2s / [\ t] * $ //'

Înlocuiți mai multe spații albe cu spații albe unice

În unele cazuri, există mai multe spații albe în același loc în fișier, dar aveți nevoie doar de spații albe. Puteți face acest lucru înlocuind acele spații multiple cu un singur spațiu folosind sed.

Următoarea comandă va înlocui toate spațiile albe multiple cu spațiul alb unic din fiecare linie din „fișierul de testare”.

$ cat testfile | sed 's / [] \ + / / g'

Ieșire:

Următoarea ieșire a apărut după executarea comenzii de mai sus, care arată că spațiile albe multiple au fost înlocuite cu spațiul alb unic.

De asemenea, puteți utiliza următoarea comandă pentru a verifica dacă mai multe spații albe sunt înlocuite cu spații albe unice:

$ cat testfile | sed 's / [] \ + / / g' | tr "" "*" | tr "\ t" "&"

Din ieșire, puteți vedea simbolul unic (*) în fiecare loc, care verifică faptul că toate aparițiile mai multor spații albe sunt înlocuite cu un singur spațiu alb.

Deci, totul a fost despre eliminarea spațiilor albe din datele dvs. folosind sed. În acest articol, ați învățat cum să utilizați sed pentru a elimina toate spațiile albe din datele dvs., a elimina numai spațiul alb principal sau final și a elimina atât spațiul alb principal, cât și cel final. De asemenea, ați învățat cum să înlocuiți mai multe spații cu un singur spațiu. Acum va fi ușor să eliminați spațiile albe dintr-un fișier care conține sute sau mii de linii.

AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...