Usunąć określone numery wierszy z pliku tekstowego za pomocą sed?

46

Chcę usunąć jeden lub więcej określonych numerów linii z pliku. Jak mam to zrobić za pomocą sed?

Justin Ethier
źródło

Odpowiedzi:

63

Aby usunąć linie 2, 12-17 i 57 linii z pliku data.txtza pomocą sedmożna zrobić coś takiego:

 sed -e '2d;12,17d;57d' data.txt

do utworzenia kopii zapasowej oryginalnego pliku (z .bakrozszerzeniem) użyj -i.bakpolecenia.

 sed -i.bak -e '2d;12,17d;57d' data.txt
Levon
źródło