Vonalak törlése a Sed fájlból
Ezt a Unix parancsot a parancssori feldolgozáshoz használják . Ez a segédprogram arra használható, hogy törölje a kifejezéseket egy olyan fájlból, amelyet egy meghatározott határoló (pl. Vessző, lap vagy szóköz) azonosíthat, sorszámmal, vagy egy sor, kifejezés vagy egy sor címének keresésével a Sed szintaxisa .
Sed: Egy vagy több sor törlése a fájlból
Íme, hogyan távolíthat el egy vagy több sort a fájlból.Szintaxis
sed '[/] d'sed '{[/] [, ] [/] d'
/.../ = határoló
n = sorszám
string = a sorban található karakterlánc
regex = a keresett mintának megfelelő rendszeres kifejezés
addr = egy sor címe (szám vagy minta)
d = törlés
Példák a Sedre
Íme néhány példa a fenti szintaxis használatára.A harmadik sor eltávolításához használja a következő kódot:
sed '3d' fájlnév.txt
Távolítsa el a "awk" karakterláncot tartalmazó sort a következő használatával:
sed '/ awk / d' fájlnév.txt
Az utolsó sort eltávolíthatja a következővel:
sed '$ d' fájlnév.txt
Vagy távolítsa el az összes üres sort:
sed '/ ^ $ / d' fájlnév.txtsed '/./!d' fájlnév.txt
Távolítsuk el a vonal egyezését egy rendszeres kifejezéssel (a digitális karaktereket tartalmazó, legalább 1 számjegyből álló sor megszüntetésével):
sed '/ [0-9 /] [0-9] * $ / d' fájlnév.txt
Távolítsa el a 7. és 9. sor közötti intervallumot:
sed '7, 9d' fájlnév.txt
Ugyanaz a művelet, mint a fenti, de a címet paraméterekkel helyettesíti:
sed '/ -Start /, / - Vége / d' fájlnév.txt
A fenti példák csak a fájl megjelenítésén változnak (stdout1 = képernyő).
A régi verziók állandó módosításához (<4) ideiglenes fájlt használjon a GNU sed-re a "-i [utótag]" használatával :
sed -i ".bak" '3d' fájlnév.txt