2009-10-21 14 views

Odpowiedz

15
sed -n '800,900p' file.txt 

To będzie drukować (p) linii 800 przez 900, w tym zarówno linii 800 i 900 (to jest 101 linii w sumie). Nie wydrukuje żadnych innych linii (-n).

Ustaw od 800 do 801 i/lub 900 do 899, aby zrobić dokładnie to, co myślisz "między 800 a 900" powinno oznaczać w twoim przypadku.

+0

idealne! Dzięki! Znalazłem dokładnie tę samą wskazówkę na blogu z dalszymi przykładami - zobacz moją odpowiedź –

3

Znaleziony ładniejszą sposób: Za pomocą sed, aby wydrukować tylko linie pomiędzy A i B:

sed -n -e 800,900p filename.txt 

Z blogu: Using sed to extract lines in a text file

Jednym ze sposobów używam jest znaleźć (i diff) podobne sekcje plików:

sed -n -e 705,830p mnetframe.css > tmp1; \ 
sed -n -e 830,955p mnetframe.css > tmp2; \ 
diff --side-by-side tmp1 tmp2 

Który da mi piękny porównania side-by-side podobnych odcinkach pliku :)

Powiązane problemy