Odstránenie riadkov zo súboru pomocou Sed
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.txtsed '/./!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