Ištrinkite linijas iš failo naudojant „Sed“

„Unix“ naudingumas SED suteikia efektyvų ir universalų būdą ištrinti vieną ar kelias eilutes iš nurodyto failo, kad jis atitiktų naudotojo poreikius.

Ši „ Unix“ komanda naudojama komandų eilutės apdorojimui . Ši programa gali būti naudojama ištrinti iš failo išraiškas, kurios gali būti identifikuojamos pagal apibrėžiantį ribotuvą (pvz., Kablelį, skirtuką arba tarpą), pagal eilutės numerį arba ieškant eilutės, išraiškos ar eilutės adreso, esančio Sed sintaksė .

Sed: iš failo pašalinkite vieną ar kelias eilutes

Štai kaip pašalinti vieną ar kelias eilutes iš failo.

Sintaksė

 sed '[/] d'

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

/.../ = ribotojai

n = eilutės numeris

string = eilutė nustatyta eilutėje

regex = reguliari raiška, atitinkanti ieškomą modelį

addr = eilutės adresas (numeris arba modelis)

d = ištrinti

Sed pavyzdžiai

Štai keletas pavyzdžių, kaip naudoti pirmiau minėtą sintaksę.

Jei norite pašalinti trečią eilutę, naudokite šį kodą:

 sed '3d' failo pavadinimas.txt 

Pašalinkite eilutę, kurioje yra eilutė „awk“, naudodami:

 sed '/ awk / d' failo pavadinimas.txt 

Paskutinę eilutę galite pašalinti įvesdami:

 sed '$ d' failo pavadinimas.txt 

Arba pašalinkite visas tuščias eilutes:

 sed '/ ^ $ / d' failo pavadinimas.txt

sed '/./!d' failo pavadinimas.txt

Pašalinkite eilutės atitikimą įprastine išraiška (pašalinkite vieną, kurioje yra skaitmeninių ženklų, bent 1 skaitmenų, esantį linijos pabaigoje):

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

Pašalinkite intervalą tarp 7 ir 9 linijų:

 sed '7, 9d' failo pavadinimas.txt 

Ta pati operacija, kaip pirmiau, bet pakeičiant adresą su parametrais:

 sed '/ -Start /, / - Pabaiga / d' failo pavadinimas.txt 

Pirmiau pateikti pavyzdžiai keičiami tik failo ekrane (stdout1 = ekranas).

Jei norite keisti senas versijas (<4), naudokite laikiną GNU sed failą naudodami "-i [sufiksas]" :

 sed -i ".bak" '3d' failo pavadinimas.txt 
Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai