Jaki jest najlepszy sposób na wyjście z pliku zaczynającego się od określonej linii (duża liczba, np. 70000). Coś jak:
cat --line=70000 <file>
command-line
cat
vonhogen
źródło
źródło
wc -l $1 | awk '{print $1}'
; lineno =expr $lineno - $2
; ogon -n $ lineno 1 $; }tail -n
Najbardziej oczywistym sposobem jest
tail
. Składnia może się nieco różnić w zależności od używanego systemu operacyjnego:Jeśli nie możesz dostać się
tail
do pracy, możesz użyćsed
, ale może skończyć się wolniej:źródło
tail
działało dobrze w MinGW (na pliku tekstowym 600 MB). Środowisko wykonawcze trwało zaledwie kilka sekund (ale plik wejściowy mógł już znajdować się w pamięci podręcznej plików).Jeśli zamiast numeru linii musisz rozpocząć wyświetlanie w wierszu zawierającym dany
$phrase
, spróbuj wykonać następujące czynności.-1000 będzie stale wyświetlać tekst dla maksymalnie 1000 linii; możesz to zmienić w razie potrzeby.
sed
Polecenie odciąć pierwsze 4 linie wyjścia, które zostały automatycznie wstawiony przezmore
zawierający pusty wiersz komunikat „... pomijam”, a dwie linie poprzedzających planowaną linię startu. Myślę, że może się to różnić w zależności od twojego systemu.źródło
Możesz użyć parametru NR za pomocą polecenia awk :
źródło
cat messages | awk '{if (NR>=7000 && NR <7003) print}'
pokazuje tylko wiersz 7000, 7001 i 7002.ogon +250
więcej o komendzie cat unix
źródło
tail
sugestia jest taka sama, jak zaakceptowanych i innych odpowiedzi sprzed tygodni. po co zawracać sobie głowę publikowaniem?...can't find the server at www.scripterworld.com.