Poista rivit tiedostoa käyttäen Sed

Unix- apuohjelma SED tarjoaa tehokkaan ja monipuolisen tavan poistaa yksi tai useampi rivi nimetyistä tiedostoista käyttäjän tarpeiden mukaan.

Tätä Unix- komentoa käytetään komentorivin käsittelyyn . Tätä apuohjelmaa voidaan käyttää poistamaan lausekkeita tiedostosta, joka voidaan tunnistaa määrittelevän erottimen (kuten pilkku, välilehti tai välilyönti), rivinumeron mukaan tai etsimällä merkkijonoa, lauseketta tai rivin osoitetta Sedin syntaksi .

Sed: Poista yksi tai useampi rivi tiedostosta

Tässä voit poistaa yhden tai useamman rivin tiedostosta.

Syntaksi

 sed '[/] d'

sed '{[/] [, ] [/] d'

/.../ = erottimet

n = rivin numero

string = merkkijono löytyy riviltä

regex = säännöllinen lauseke, joka vastaa haettua kuviota

addr = rivin osoite (numero tai kuvio)

d = poista

Esimerkkejä Sedistä

Seuraavassa on muutamia esimerkkejä edellä mainitun syntaksin käyttämisestä.

Poista kolmas rivi seuraavalla koodilla:

 sed '3d' fileName.txt 

Poista merkkijono "awk" sisältävä rivi käyttämällä:

 sed '/ awk / d' tiedostonimi.txt 

Voit poistaa viimeisen rivin kirjoittamalla:

 sed '$ d' tiedostonimi.txt 

Tai poista kaikki tyhjät rivit:

 sed '/ ^ $ / d' tiedostonimi.txt

sed '/./!d' tiedostonimi.txt

Poista rivinvaihto tavallisella lausekkeella (poistamalla yksi, joka sisältää digitaalisia merkkejä, vähintään 1 numero, joka sijaitsee rivin lopussa):

 sed '/ [0-9 /] [0-9] * $ / d' tiedostonimi.txt 

Poista rivien 7 ja 9 väli:

 sed '7, 9d' tiedostonimi.txt 

Sama toiminto kuin edellä, mutta korvaa osoitteen parametreilla:

 sed '/ -Start /, / - Lopeta / d' tiedostonimi.txt 

Edellä esitettyjä esimerkkejä muutetaan vain tiedoston näytössä (stdout1 = screen).

Vanhojen versioiden pysyviin muutoksiin (<4) käytä väliaikaista tiedostoa GNU sedille käyttäen "-i [sufiksi]" :

 sed -i ".bak" '3d' tiedostonimi.txt 
Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä