Poista rivit tiedostoa käyttäen Sed
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.txtsed '/./!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