эмулируйте хвост с sed

Я рекомендовал бы Крошечному Ядру Linux. Существует много преимуществ перед дистрибутивами как Конюшня Debian, хинду, Slackware, Дуга:

  • Загрузки в RAM/подкачку: С установкой, столь же нестабильной как старая машина, почему бы не выполнить его от RAM, если это возможно? Диск на 1 ГБ будет очень медленным для современных программ, которые принимают нормальную дисковую пропускную способность.
  • Пакеты, загружаемые по запросу: Даже при том, что это, прежде всего, работает в RAM, пакеты могут быть загружены по запросу, что означает, что можно использовать диск USB для хранения ряда пакетов для одной цели, т.е. "веб-сервера". Этот раздел содержал бы apache2, Python и зависимости. Идея состоит в том, что у Вас может быть другой диск, который содержал другой набор пакетов. В зависимости от того, что Вы хотите сделать, Вы могли смонтировать соответствующий диск. Попытайтесь делать это на Debian или Slackware! Все пакеты будут установлены в/usr или что бы то ни было. Система пакета только существует перед установкой там. Крошечная Базовая архитектура.
  • Предварительно созданный: Создание любой современной программы на процессоре на 133 МГц собирается взять возрасты. Вы даже не сможете связать большие программы без свопинга.
  • Более низкие требования:

    • Ubuntu требует Celeron на 700 МГц. У меня недавно была проблема, потому что Ubuntu теперь также требует поддержки PAE. Ваши 133 МГц Pentium не имеют этого!
    • Требования Slackware, кажется, являются довольно низкими все же.
    • Дуга Linux' требования слишком высок, он требует i686.
    • Требования Конюшни Debian в порядке, если Вы не устанавливаете рабочий стол.

    Микробазовые выполнения с 28 МБ поршня и i486DX. Крошечное Ядро имеет GUI, который работает с Вашей системой (в отличие от Debian) даже при том, что Вы не должны использовать его!

8
01.01.2014, 11:42
3 ответа

Вы могли сделать что-то вроде этого:

sed -e :a -e '$q;N;11,$D;ba'
15
27.01.2020, 20:10
  • 1
    sed -e :a -e '$q;N;11,$D;ba' foo соответствовать вопросу. –  Slyx 01.01.2014, 12:04
  • 2
    я понятия не имею, как он работает, но он работает отлично.Большое спасибо. –  Martin Vegter 01.01.2014, 12:13
tac foo |  sed -n '1,10p' | tac

но если у Вас нет tac, можно использовать только sed этот путь:

sed -n '1!G;h;$p' foo | sed -n '1,10p' | sed -n '1!G;h;$p'
0
27.01.2020, 20:10

expr доступный с Вашей системой? Затем можно попытаться оценить желаемый номер строки после подсчета общего количества строк в файле.

Я создал названный файл tmp содержа числа от 1 до 20 в каждой строке.

nlines=$(cat tmp | sed -n '$=')
cat tmp | sed -n $(expr $nlines - 9),"$nlines"p
11
12
13
14
15
16
17
18
19
20

Конечно, можно использовать wc -l, при наличии.

Управление для вычислений общего количества строк в файле принято от sed лайнеры. Однако я не проверил, работает ли это с пустыми файлами также.

P.S., если expr не доступно, можно использовать, вычитают числа в Bash как показано ниже:

cat tmp | sed -n $((nlines-9)),"$nlines"p
0
27.01.2020, 20:10

Теги

Похожие вопросы