sed

Sed Eemalda tühik

Sed Eemalda tühik
Dokumendist tühikute eemaldamine on oluline vormindamise samm, mis on vajalik teksti üldise kujunduse parandamiseks ja andmete puhtuse ja korrasoleku tagamiseks. See aitab salvestada ainult nõutavaid andmeid ja vabaneda tarbetutest ees- ja järelruumidest. Järgnevalt on toodud mõned stsenaariumid, kus peate tühikud tühistama:

Kui me räägime juhtivatest tühikutest, siis on neid teksti alguses üsna lihtne märgata. Järgnevaid tühimikke pole aga lihtne märgata. Sama lugu on topelt tühikutega, mida on samuti mõnikord raske märgata. See kõik muutub keerukamaks, kui peate tuhandeid ridu sisaldavast dokumendist eemaldama kõik need ees ja taga asuvad tühikud.

Dokumendist tühikute eemaldamiseks võite kasutada erinevaid tööriistu nagu awk, sed, cut ja tr. Mõnes teises artiklis oleme arutanud awki kasutamist tühimike eemaldamisel. Selles artiklis käsitleme sed-i kasutamist andmetest tühimike eemaldamiseks.

Õpid, kuidas sedi kasutada:

Käivitame käske Ubuntu 20-s.04 Focal Fossa. Samu käske saate käivitada ka teistes Linuxi distributsioonides. Käskude käitamiseks kasutame vaikerakendust Ubuntu Terminal. Terminali avamiseks kasutage kiirklahve Ctrl + Alt + T.

Mis on Sed

Sed (tähistab voo redaktorit) on Linuxis väga võimas ja mugav utiliit, mis võimaldab meil sisendvoogudes teha põhilisi tekstikäsitlusi. See ei ole tekstiredaktor, kuid see aitab teksti manipuleerida ja filtreerida. See võtab vastu sisendvoo ja redigeerib seda vastavalt kasutaja juhistele ning seejärel printib teisendatud teksti ekraanile.

Sediga saate:

Sedi kasutamine tühimike eemaldamiseks

Kasutame tühikute tekstist eemaldamiseks järgmist süntaksit:

s / REGEXP / asendamine / lipud

Kus

Regulaarsed väljendid

Mõned regulaaravaldised, mida siin kasutame, on:

Demonstreerimise eesmärgil kasutame järgmist näidisfaili nimega “testfile”.

Vaadake kõiki tühikuid failis

Kõigi failis olevate tühikute leidmiseks sisestage käsu cat väljund käsku tr järgmiselt:

$ kassi testfail | tr "" "*" | tr "\ t" "&"

See käsk asendab kõik faili tühimärgid (*) sümboliga, mis muudab kõigi tühimärkide märkamise lihtsamaks, olgu need siis ühe-, mitme-, juht- või järelvaated.

Järgmisel ekraanipildil näete tühikute asendamist sümboliga *.

Eemalda kõik tühikud (sh tühikud ja vahelehed)

Mõnel juhul peate andmetest eemaldama kõik tühikud, s.t.e. tekstide vahele jäämine, järeljäämine ja tühikud. Järgmine käsk eemaldab kõik tühikud testfailist.

$ kassi testfail | sed -r 's / \ s + // g'

Märge: Sed ei muuda teie faile enne, kui salvestate väljundi faili.

Väljund:

Pärast ülaltoodud käsu käivitamist ilmus järgmine väljund, mis näitab, et kõik tühikud on tekstist eemaldatud.

Järgmise käsu abil saate kontrollida, kas kõik tühikud on eemaldatud.

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

Väljundist näete, et see ei ole (*) sümbol, mis tähendab, et kõik tühikud on eemaldatud.

Kõigi tühimike eemaldamiseks, kuid ainult konkreetselt realt (oletame, et rida number 2), võite kasutada järgmist käsku:

$ kassi testfail | sed -r '2s / \ s + // g'

Eemaldage kõik juhtivad tühikud (sh tühikud ja vahelehed)

Kõikide tühikute eemaldamiseks iga rea ​​algusest (eesmised tühikud) kasutage järgmist käsku:

$ kassi testfail | sed 's / ^ [\ t] * //'

Väljund:

Järgmine väljund ilmus pärast ülaltoodud käsu käivitamist, mis näitab, et kõik juhtivad tühikud on tekstist eemaldatud.

Järgmise käsu abil saate kontrollida, kas kõik juhtivad tühikud on eemaldatud:

$ kassi testfail | sed 's / ^ [\ t] * //' | tr "" "*" | tr "\ t" "&"

Väljundist näete, et ridade alguses pole sümbolit (*), mis kinnitab, et kõik juhtivad tühikud on eemaldatud.

Juhtivate tühikute eemaldamiseks ainult konkreetselt realt (oletame, et rida number 2) saate kasutada järgmist käsku:

$ kassi testfail | sed '2s / ^ [\ t] * //'

Eemaldage kõik järelejäänud tühikud (sh tühikud ja vahelehed)

Kõikide tühikute eemaldamiseks iga rea ​​lõpust (tühjad tühikud) kasutage järgmist käsku:

$ kassi testfail | sed 's / [\ t] * $ //'

Väljund:

Pärast ülaltoodud käsu käivitamist ilmus järgmine väljund, mis näitab, et tekstist on eemaldatud kõik tühikud.

Järgmise käsu abil saate kontrollida, kas kõik tühikud tühikud on eemaldatud.

$ kassi testfail | sed 's / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Väljundis näete, et ridade lõpus pole sümbolit (*), mis kinnitab, et kõik tühikud tühikud on eemaldatud.

Jätkuvate tühikute eemaldamiseks ainult konkreetselt realt (ütleme nii, et rida number 2) saate kasutada järgmist käsku:

$ kassi testfail | sed '2s / [\ t] * $ //'

Eemaldage nii juhtivad kui ka lõppevad tühikud

Kõigi tühimike eemaldamiseks iga rea ​​algusest ja lõpust (st.e. nii ees- kui ka lõppväljad), kasutage järgmist käsku:

$ kassi testfail | sed 's / ^ [\ t] * //; s / [\ t] * $ //'

Väljund:

Pärast ülaltoodud käsu käivitamist ilmus järgmine väljund, mis näitab, et tekstist on eemaldatud nii eesmine kui ka viimane tühik.

Järgmise käsu abil saate kontrollida, kas nii eesmine kui ka viimane tühik on eemaldatud.

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

Väljundist näete, et ridade alguses või lõpus pole sümbolit (*), mis kinnitab, et kõik eesmised ja järgnevad tühikud on eemaldatud.

Nii esi- kui ka lõppväljade eemaldamiseks ainult kindlalt realt (oletame, et rida number 2) saate kasutada järgmist käsku:

$ kassi testfail | sed '2s / ^ [\ t] * //; 2s / [\ t] * $ //'

Asenda mitu tühikut ühe tühimikuga

Mõnel juhul on failis samas kohas mitu tühikut, kuid vajate ainult ühte tühimikku. Seda saate teha, asendades need mitu tühikut ühe tühikuga, kasutades sed.

Järgmine käsk asendab kõik mitu tühikut "tühiku" igast reast testfailis.

$ kassi testfail | sed 's / [] \ + / / g'

Väljund:

Pärast ülaltoodud käsu käivitamist ilmus järgmine väljund, mis näitab, et mitu tühikut on asendatud ühe tühimikuga.

Järgmise käsu abil saate kontrollida, kas mitu tühikut asendatakse ühe tühimikuga:

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

Väljundist näete igas kohas ühte (*) sümbolit, mis kinnitab, et kõigi mitme tühiku kõik esinemised on asendatud ühe tühimikuga.

Nii oli see kõik tühimike eemaldamine oma andmetest sed-i abil. Selles artiklis olete õppinud, kuidas kasutada sed-i kõigi tühimike eemaldamiseks oma andmetest, ainult eesmise või taga oleva tühiku eemaldamiseks ning nii eesmise kui ka taga oleva tühimiku eemaldamiseks. Samuti olete õppinud, kuidas asendada mitu tühikut ühe tühikuga. Teil on nüüd lihtne tühikuid tühistada failist, mis sisaldab sadu või tuhandeid ridu.

Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...
Hiire keskmine nupp ei tööta Windows 10-s
The hiire keskmine nupp aitab teil sirvida pikki rohke andmega veebisaite ja ekraane. Kui see peatub, siis lõpuks kasutate kerimiseks klaviatuuri, mis...
Kuidas muuta hiire vasakut ja paremat nuppu Windows 10 PC-s
On üsna tavaline, et kõik arvutihiirte seadmed on ergonoomiliselt mõeldud parempoolsete kasutajate jaoks. Kuid on olemas hiire seadmeid, mis on spetsi...