Как Фейсал отмечает , вы могли бы сами декораторы приложить метаданные к функции, но, насколько мне известно, это не делается автоматически.
sed -n '16224,16482p;16483q' filename > newfile
От sed руководство :
p - Распечатывают пространство шаблона (к стандартному выводу). Эта команда обычно используется только в сочетании с-n параметром командной строки.
n - Если автопечать не отключена, распечатайте пространство шаблона, то, независимо, заменяют пространство шаблона следующей строкой входа. Если там больше не вводится тогда sed, выходы, не обрабатывая больше управляет.
q - Выход
sed
, не обрабатывая больше управляет или вход. Обратите внимание, что текущее пространство шаблона печатается, если автопечать не отключена с-n опцией.
Адреса в sed сценарии могут быть в любой из следующих форм:
номер , Определяющий номер строки, будет соответствовать только что строка во входе.
диапазон адресов может быть определен путем определения двух адресов, разделенных запятой (). Диапазон адресов соответствует строкам, начинающим с того, где первый адрес соответствует и продолжается до вторых соответствий адреса (включительно).
Я собирался отправить прием головы/хвоста, но на самом деле я, вероятно, просто разожгу emacs.;-)
открывает новый выходной файл, ctl-y сохраняют
, Позвольте нам меня, видят то, что происходит.
Быстрый и грязный:
head -16428 < file.in | tail -259 > file.out
, Вероятно, не лучший способ сделать это, но это должно работать.
BTW: 259 = 16482-16224+1.
cat dump.txt | head -16224 | tail -258
должен добиться цели. Оборотная сторона этого подхода - то, что необходимо сделать арифметику, чтобы определить аргумент в пользу хвоста и составлять, хотите ли Вы 'между' включать конечную строку или нет.
# print section of file based on line numbers
sed -n '16224 ,16482p' # method 1
sed '16224,16482!d' # method 2
perl -ne 'print if 16224..16482' file.txt > new_file.txt
Вы могли использовать 'vi' и затем следующую команду:
:16224,16482w!/tmp/some-file
, Кроме того:
cat file | head -n 16482 | tail -n 258
РЕДАКТИРОВАНИЕ:-Только для добавления объяснения Вы используете , главный-n 16482 для отображения сначала 16 482 строк тогда использует хвост-n 258 для вытаскивания последних 258 строк из первого вывода.
Довольно простая голова/хвост использования:
head -16482 in.sql | tail -258 > out.sql
использование sed:
sed -n '16482,16482p' in.sql > out.sql
использование awk:
awk 'NR>=10&&NR<=20' in.sql > out.sql
sed -n '16224,16482 p' orig-data-file > new-file
, Где 16224,16482 номер строки запуска и заканчивает номер строки, включительно. Это 1-индексируемо. -n
подавляет повторение входа, как произведено, который Вы ясно не хотите; числа указывают на диапазон строк, чтобы заставить следующую команду воздействовать на; команда p
распечатывает соответствующие строки.
Используя редактора:
ed -s infile <<<'16224,16482p'
-s
подавляет диагностический вывод; фактические команды в здесь-строке. А именно, 16224,16482p
выполнения p
(печать) команда на желаемом диапазоне адресов строки.