sed

Sed Poista tyhjätila

Sed Poista tyhjätila
Välilyöntien poistaminen asiakirjoista on tärkeä muotoiluvaihe, jota tarvitaan tekstin yleisen asettelun parantamiseksi ja tietojen puhtauden ja siistin varmistamiseksi. Se auttaa tallentamaan vain vaaditut tiedot ja pääsemään eroon tarpeettomista etu- ja lopputiloista. Seuraavassa on joitain tilanteita, joissa sinun on ehkä poistettava tyhjät tilat:

Jos puhumme johtavista välilyönneistä, ne on suhteellisen helppo havaita tekstin alussa. Jäljellä olevia tyhjiä tiloja ei kuitenkaan ole helppo havaita. Sama koskee kaksinkertaisia ​​välilyöntejä, joita on myös joskus vaikea havaita. Kaikesta tulee entistä haastavampaa, kun sinun on poistettava kaikki edellä olevat ja jäljessä olevat tyhjät välit tuhansia rivejä sisältävästä asiakirjasta.

Voit poistaa välilyöntejä dokumentista käyttämällä erilaisia ​​työkaluja, kuten awk, sed, cut ja tr. Joissakin muissa artikkeleissa olemme keskustelleet awk: n käytöstä tyhjien tilojen poistamisessa. Tässä artikkelissa keskustelemme sedin käytöstä tyhjien tilojen poistamiseksi tiedoista.

Opit käyttämään sediä:

Suoritamme komennot Ubuntu 20: ssä.04 Focal Fossa. Voit suorittaa samat komennot myös muissa Linux-jakeluissa. Käytämme oletus Ubuntu Terminal -sovellusta komentojen suorittamiseen. Avaa pääte käyttämällä Ctrl + Alt + T -näppäimistön pikanäppäintä.

Mikä on Sed

Sed (lyhenne sanoista stream editor) on erittäin tehokas ja kätevä apuohjelma Linuxissa, jonka avulla voimme suorittaa perustekstikäsittelyjä tulovirroille. Se ei ole tekstieditori, mutta se auttaa manipuloimaan ja suodattamaan tekstiä. Se vastaanottaa tulovirrat ja muokkaa sitä käyttäjän ohjeiden mukaisesti ja tulostaa sitten muunnetun tekstin näytölle.

Sedin avulla voit:

Sedin avulla poistetaan tyhjät tilat

Käytämme seuraavaa syntaksia tyhjien tilojen poistamiseen tekstistä:

s / REGEXP / korvaaminen / liput

Missä

Säännölliset lausekkeet

Joitakin säännöllisiä lausekkeita, joita käytämme tässä, ovat:

Esittelyä varten käytämme seuraavaa näytetiedostoa nimeltä "testfile".

Näytä kaikki tiedoston tyhjät välit

Löydät kaikki tyhjät välit tiedostostasi siirtämällä cat-komennon lähdön tr-komentoon seuraavasti:

$ kissa testitiedosto | tr "" "*" | tr "\ t" "&"

Tämä komento korvaa kaikki tiedostossa olevat välilyönnit (*) -symbolilla, mikä helpottaa kaikkien tyhjien alueiden havaitsemista riippumatta siitä, ovatko ne yksittäisiä, useita, johtavia tai loppuvia tyhjiä alueita.

Seuraavassa kuvakaappauksessa näet, että välilyönnit on korvattu * -merkillä.

Poista kaikki välilyönnit (mukaan lukien välilyönnit ja välilehdet)

Joissakin tapauksissa sinun on poistettava kaikki välilyönnit tiedoista, ts.e. johtava, jäljessä oleva ja tekstien välinen välilyönti. Seuraava komento poistaa kaikki välilyönnit testitiedostosta.

$ kissa testitiedosto | sed -r 's / \ s + // g'

merkintä: Sed ei muuta tiedostojasi, ellet tallenna lähdettä tiedostoon.

Tuotos:

Yllä olevan komennon suorittamisen jälkeen ilmestyi seuraava lähtö, joka osoittaa, että kaikki välilyönnit on poistettu tekstistä.

Voit myös käyttää seuraavaa komentoa varmistaaksesi, että kaikki välilyönnit on poistettu.

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

Lähdöstä näet, että symboli ei ole (*), mikä tarkoittaa, että kaikki välilyönnit on poistettu.

Voit poistaa kaikki välilyönnit, mutta vain tietyltä riviltä (sanotaan rivin numero 2), käyttämällä seuraavaa komentoa:

$ kissa testitiedosto | sed -r '2s / \ s + // g'

Poista kaikki johtavat välilyönnit (mukaan lukien välilyönnit ja välilehdet)

Poista kaikki välilyönnit kunkin rivin alusta (johtavat tyhjät tilat) seuraavalla komennolla:

$ kissa testitiedosto | sed 's / ^ [\ t] * //'

Tuotos:

Seuraava tulos ilmestyi yllä olevan komennon suorittamisen jälkeen, mikä osoittaa, että kaikki johtavat tyhjät tilat on poistettu tekstistä.

Voit myös käyttää seuraavaa komentoa varmistaaksesi, että kaikki johtavat välilyönnit on poistettu:

$ kissa testitiedosto | sed 's / ^ [\ t] * //' | tr "" "*" | tr "\ t" "&"

Lähdöstä näet, ettei rivien alussa ole (*) -symbolia, joka varmistaa, että kaikki johtavat välilyönnit on poistettu.

Voit poistaa johtavat välilyönnit vain tietyltä riviltä (sanotaan rivin numero 2) käyttämällä seuraavaa komentoa:

$ kissa testitiedosto | sed '2s / ^ [\ t] * //'

Poista kaikki jäljessä olevat välilyönnit (mukaan lukien välilyönnit ja välilehdet)

Poista kaikki välilyönnit kunkin rivin päästä (jäljessä olevat tyhjät välit) käyttämällä seuraavaa komentoa:

$ kissa testitiedosto | sed 's / [\ t] * $ //'

Tuotos:

Seuraava tulos ilmestyi yllä olevan komennon suorittamisen jälkeen, joka osoittaa, että kaikki jäljessä olevat tyhjät välit on poistettu tekstistä.

Voit myös käyttää seuraavaa komentoa varmistaaksesi, että kaikki jäljessä olevat tyhjät välit on poistettu.

$ kissa testitiedosto | sed 's / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Lähdöstä näet, ettei rivien lopussa ole (*) -symbolia, joka varmistaa, että kaikki jäljessä olevat välilyönnit on poistettu.

Voit poistaa jäljessä olevat välilyönnit vain tietyltä riviltä (sanotaan rivin numero 2) käyttämällä seuraavaa komentoa:

$ kissa testitiedosto | sed '2s / [\ t] * $ //'

Poista sekä etu- että takareitit

Poista kaikki välilyönnit kunkin rivin alusta ja lopusta (i.e. sekä etu- että perässä olevat tyhjät tilat), käytä seuraavaa komentoa:

$ kissa testitiedosto | sed 's / ^ [\ t] * //; s / [\ t] * $ //'

Tuotos:

Seuraava lähtö ilmestyi yllä olevan komennon suorittamisen jälkeen, mikä osoittaa, että sekä etu- että perässä olevat tyhjät välit on poistettu tekstistä.

Voit myös käyttää seuraavaa komentoa varmistaaksesi, että sekä edessä että lopussa olevat välilyönnit on poistettu.

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

Lähdöstä näet, että rivien alussa tai lopussa ei ole (*) -symbolia, joka varmistaa, että kaikki etu- ja takareitit on poistettu.

Voit poistaa sekä etu- että loppuvalot vain tietyltä riviltä (sanotaan rivin numero 2) käyttämällä seuraavaa komentoa:

$ kissa testitiedosto | sed '2s / ^ [\ t] * //; 2s / [\ t] * $ //'

Korvaa useita välilyöntejä yhdellä välilyönnillä

Joissakin tapauksissa tiedostossa on useita välilyöntejä samassa paikassa, mutta tarvitset vain yhden tyhjätilan. Voit tehdä niin korvaamalla nämä useita välilyöntejä yhdellä välilyönnillä sed-toiminnolla.

Seuraava komento korvaa kaikki useat välilyönnit yhdellä välilyönnillä jokaisesta testitiedoston rivistä.

$ kissa testitiedosto | sed 's / [] \ + / / g'

Tuotos:

Seuraava lähtö ilmestyi yllä olevan komennon suorittamisen jälkeen, mikä osoittaa, että useat tyhjät tilat on korvattu yhdellä tyhjällä alueella.

Voit myös käyttää seuraavaa komentoa tarkistaaksesi, korvataanko useita välilyöntejä yhdellä tyhjätilalla:

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

Lähdöstä näet jokaisessa paikassa yhden (*) symbolin, joka varmistaa, että kaikki useiden välilyöntien esiintymät on korvattu yhdellä välilyönnillä.

Joten tässä oli kyse tyhjien tilojen poistamisesta tiedoistasi sedin avulla. Tässä artikkelissa olet oppinut käyttämään sed-toimintoa poistamaan kaikki tyhjät tilat tiedoistasi, poistamaan vain etu- tai lopputilan ja poistamaan sekä etu- että loppuvalot. Olet myös oppinut korvaamaan useita välilyöntejä yhdellä välilyönnillä. Nyt on helppo poistaa välilyöntejä tiedostosta, joka sisältää satoja tai tuhansia rivejä.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
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 ...