micke_nordin skrev:
Matchar det hela raden, eller ska det vara:
Du behöver faktiskt aldrig använda varken
^.* eller
.*$ eftersom
.* ändå matchar så mycket den bara kan (greedy). När det gäller
d så behöver du inte matcha hela raden för att ta bort den. Du kan t.ex. plocka bort alla rader som någonstans innehåller siffran 2 med
sed /2/d.
Sen kan det också vara värt att nämna att
's/.*matchning.*//' lämnar tomrader efter sig, medan
'/matchning/d' istället tar bort raderna helt.
micke_nordin skrev:
Den är nog bra, kan man bara pipe:a tillbaka detta till ursprungsfilen sedan? När jag testade med en testfil blev den blank nämligen (med mitt ursprungliga sedkommando, även om det såg bra ut på skärmen)

.
Du är aldrig säkert att "pipe:a" tillbaka till ursprungsfilen. Mellanlagra resultatet i en temporär fil och ersätt därefter orginalet.
GNU sed kan göra det åt dig om du använder
sed -i.