Автор Тема: получить все последующие строки после 10 совпадения bash  (Прочитано 1093 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zCirill

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 118
Добрый день.

Подскажите плз как получить последние строки после 10 совпадения?

Есть вот такой файл, нужно получить все строки после 10 совпадения с "Actual DISK WRITE"

Пока придумал как первые две взять

grep -A2 "Actual DISK WRITE" /tmp/lolol | tail -n2
но блин, если будет больше строк.


Spoiler: ShowHide


cat /tmp/lolol
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
Total DISK READ :       0.00 B/s | Total DISK WRITE :     105.59 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:     187.71 K/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  1.04 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.33 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  0.53 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.17 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  0.36 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.11 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      15.67 K/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  0.27 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.08 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :      11.50 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       7.67 K/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  0.21 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.07 % postgres: checkpointer process
 1286 be/4 mongodb       0.00 B      8.00 K  0.00 %  0.00 % mongod --config /etc/mongod.conf
  573 be/4 syslog        0.00 B      4.00 K  0.00 %  0.00 % rsyslogd
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  202 be/3 root          0.00 B     68.00 K  0.00 %  0.18 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.06 % postgres: checkpointer process
 1286 be/4 mongodb       0.00 B      8.00 K  0.00 %  0.00 % mongod --config /etc/mongod.conf
  573 be/4 syslog        0.00 B      4.00 K  0.00 %  0.00 % rsyslogd
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -Poabq -n 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :      50.58 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:     101.16 K/s
  202 be/3 root          0.00 B    120.00 K  0.00 %  0.20 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.05 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.02 % python /usr/sbin/iotop -Poabq -n 10
 1286 be/4 mongodb       0.00 B      8.00 K  0.00 %  0.00 % mongod --config /etc/mongod.conf
  573 be/4 syslog        0.00 B      4.00 K  0.00 %  0.00 % rsyslogd
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  202 be/3 root          0.00 B    120.00 K  0.00 %  0.17 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.04 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.02 % python /usr/sbin/iotop -Poabq -n 10
 1286 be/4 mongodb       0.00 B      8.00 K  0.00 %  0.00 % mongod --config /etc/mongod.conf
  573 be/4 syslog        0.00 B      4.00 K  0.00 %  0.00 % rsyslogd
Total DISK READ :       0.00 B/s | Total DISK WRITE :      11.71 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      11.71 K/s
  202 be/3 root          0.00 B    120.00 K  0.00 %  0.15 % [jbd2/sda1-8]
 1350 be/4 postgres      0.00 B     36.00 K  0.00 %  0.04 % postgres: checkpointer process
 6543 be/4 root          0.00 B      4.00 K  0.00 %  0.01 % python /usr/sbin/iotop -Poabq -n 10
 1050 be/4 elastics      0.00 B     12.00 K  0.00 %  0.00 % java -Xms512m -Xmx512m -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Delasticsearch -Des.pidfile=/var/run/elasticsearch/elasticsearch.pid -Des.path.home=/usr/share/elasticsearch -cp :/usr/share/elasticsearch/lib/elasticsearch-1.7.2.jar:/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/lib/sigar/* -Des.default.config=/etc/elasticsearch/elasticsearch.yml -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/etc/elasticsearch org.elasticsearch.bootstrap.Elasticsearch
 1286 be/4 mongodb       0.00 B      8.00 K  0.00 %  0.00 % mongod --config /etc/mongod.conf
  573 be/4 syslog        0.00 B      4.00 K  0.00 %  0.00 % rsyslogd

« Последнее редактирование: 26 Июнь 2016, 22:21:06 от zCirill »
 

Оффлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1819
  • Новосибирск
  • Jabber: endru@jabber.ru
grep -n "Actual DISK WRITE" /tmp/lolol | tail -n 1 | awk -F':' '{ print $1}' покажет номер строки последнего совпадения.
cat /tmp/lolol | wc -l - выведет количество строк в файле.
находим разницу между двумя числами и подсовываем tail. profit?

если нужно именно 10 совпадение, то смотри в строну этой конструкции:
command | head -10 | tail -1

удачи
« Последнее редактирование: 27 Июнь 2016, 05:37:25 от endru »
 


Теги:
 

Получить серийник HDD в kernel space

Автор Supaplex

Ответов: 1
Просмотров: 1380
Последний ответ 23 Сентябрь 2015, 15:42:47
от vic5710
Как в окне терминала debian 6 получить справку по синтаксису perl ?

Автор soldafon

Ответов: 2
Просмотров: 1109
Последний ответ 11 Октябрь 2015, 18:39:27
от soldafon
for i in {01..31} как получить 01 02 03 ... ?

Автор zCirill

Ответов: 6
Просмотров: 1059
Последний ответ 14 Июнь 2016, 11:34:05
от zCirill