36

Каков наилучший способ вывода из файла, начиная с определенной строки (большое число, например, 70000). Что-то вроде:

cat --line=70000 <file>

5 ответов5

55

Посмотрите на хвост, точнее, это --lines =+N переключатель:

tail --lines=+100 <file>
19

Самый очевидный способ - это tail . Синтаксис может немного отличаться в зависимости от того, какую ОС вы используете:

tail -n +70000

Если вы не можете заставить tail работать, вы можете использовать sed , но это может закончиться медленнее:

sed -pe '1,69999d'
2

Если вместо номера строки вам нужно начать перечисление со строки, содержащей данную $phrase , попробуйте следующее.

more -1000 +/"$phrase" yourfilename | sed '1,4d'

-1000 будет непрерывно перечислять текст до 1000 строк; Вы можете изменить это при необходимости. Команда sed отрежет первые 4 строки вывода, которые были автоматически вставлены more , содержащие пустую строку, сообщение «... пропуск» и две строки, предшествующие вашей предполагаемой стартовой строке. Я думаю, это может варьироваться в зависимости от вашей системы.

2

Вы можете использовать параметр NR с командой awk :

cat <file> | awk '{if (NR>=7000) print}'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .