Sor(ok) törlése fájlból

Sor(ok) törlése fájlból

Hozzászólások

Sziasztok,
a következöre keresek GYORS megoldast. Egy adott fajlbol szeretnek sorokat torolni, amik az "X" sztringet tartalmazzak.

sed -e '/X/d' < BE > KI

Ez igy mukodne is, de en olyat szeretnek, hogy egybol direkt a fajlbol torol. Tehat "tmp-fajl nelkul". ed-del egyelore nem sikerult, vagy valami massal?
Koszi a segitseget.

Adj -i kapcsolót is a sed-nek. Bár ez is ideiglenes fájllal dolgozik, csak nem túl feltűnő, mert nem kell a parancssorban átirányítással és átnevezéssel foglalkoznod, a sed megteszi helyetted. Ha tényleg helyben kell kicserélni a fájl tartalmát (nincs hely tmp cuccnak, az inode változatlan maradjon stb.), az minimum egy kacifántosabb perl vagy c programot igényel, de erre aligha van szükséged.

Röviden:
[code:1:c04f7d7023]printf "g/X/d\nwq\n" | ed fajlneve [/code:1:c04f7d7023]

Lefordítva: g, azaz minden /X/ mintának megfelelő sorra d, azaz delete (parancs vége), wq, azaz írd ki és lépj ki (parancs vége).

"Adj -i kapcsolót is a sed-nek. "
Az en verziom ezt meg nem tudja... 3.02.80 :-(