Каков наилучший способ вывода из файла, начиная с определенной строки (большое число, например, 70000). Что-то типа:
cat --line=70000 <file>
command-line
cat
vonhogen
источник
источник
wc -l $1 | awk '{print $1}'
; бельё =expr $lineno - $2
; tail -n $ lineno $ 1; }tail -n
Самый очевидный способ
tail
. Синтаксис может немного отличаться в зависимости от того, какую ОС вы используете:Если вы не можете добраться
tail
до работы, вы можете использоватьsed
, но это может закончиться медленнее:источник
tail
отлично работал в MinGW (на 600 МБ текстовом файле). Время выполнения составило всего несколько секунд (но входной файл уже мог находиться в файловом кеше).Если вместо номера строки вам нужно начать перечисление со строки, содержащей данное
$phrase
, попробуйте следующее.-1000 будет непрерывно перечислять текст до 1000 строк; Вы можете изменить это по мере необходимости. Команда
sed
отрубит первые 4 строки вывода, которые были автоматически вставленыmore
, содержащие пустую строку, сообщение «... пропуск» и две строки, предшествующие предполагаемой стартовой строке. Я думаю, это может варьироваться в зависимости от вашей системы.источник
Вы можете использовать параметр NR с командой awk :
источник
cat messages | awk '{if (NR>=7000 && NR <7003) print}'
показывает только строки 7000, 7001 и 7002.хвост +250
больше о команде unix cat
источник
tail
предложение совпадает с принятыми и другими ответами от недель назад. зачем постить?...can't find the server at www.scripterworld.com.