Odstránenie riadkov zo súboru pomocou Sed

Unixový nástroj SED poskytuje efektívny a všestranný spôsob vymazania jedného alebo viacerých riadkov z určeného súboru tak, aby zodpovedali potrebám používateľa.

Tento príkaz Unix sa používa na spracovanie príkazového riadku . Tento nástroj môže byť použitý na vymazanie výrazov zo súboru, ktorý môže byť identifikovaný určujúcim oddeľovačom (napr. Čiarka, tabuľka alebo medzera), číslom riadku alebo vyhľadaním reťazca, výrazu alebo adresy riadka v syntax Sed.

Sed: Odstránenie jedného alebo viacerých riadkov zo súboru

Tu je návod, ako odstrániť jeden alebo viac riadkov zo súboru.

syntax

 sed '[/] d'

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

/.../ = oddeľovače

n = číslo riadku

string = reťazec nájdený v riadku

regex = regulárny výraz zodpovedajúci vyhľadávanému vzoru

addr = adresa riadka (číslo alebo vzor)

d = vymazať

Príklady Sed

Tu je niekoľko príkladov použitia vyššie uvedenej syntaxe.

Na odstránenie tretieho riadka použite nasledujúci kód:

 sed '3d' fileName.txt 

Odstráňte riadok obsahujúci reťazec "awk" pomocou:

 sed '/ awk / d' filename.txt 

Posledný riadok môžete odstrániť zadaním:

 sed '$ d' filename.txt 

Alebo odstráňte všetky prázdne riadky prostredníctvom:

 sed '/ ^ $ / d' filename.txt

sed '/./!d' filename.txt

Odstráňte riadok zhodný regulárnym výrazom (odstránením jedného, ​​ktorý obsahuje digitálne znaky, najmenej 1 číslicu, ktorá sa nachádza na konci riadka):

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

Odstráňte interval medzi riadkami 7 a 9:

 sed '7, 9d' filename.txt 

Rovnaká operácia ako vyššie, ale nahradenie adresy parametrami:

 sed '/ -Start /, / - End / d' filename.txt 

Vyššie uvedené príklady sa zmenia iba pri zobrazení súboru (stdout1 = obrazovka).

Pre trvalé zmeny starých verzií (<4) použite dočasný súbor pre GNU sed pomocou "-i [prípona]" :

 sed -i ".bak" '3d' filename.txt 
Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy