Сверхтонкий — еще один вариант.
Пример использования:
hyperfine --warmup 3 'my_command'
См. связанный вопрос .
Если вы хотите сделать что-то большее, чем просто сопоставление с образцом, и выполнить дополнительное форматирование с номерами строк и количеством совпадений, лучше использовать Awk, чем grep
awk '/PktType0 Done/{ print ++count, NR, $0 }' file
Не сравнимо с решением awk
, но вот альтернатива. Учитывая немного другую выборку:
PktType0 Done
PktType1 Header
PktType1 Pay
PktType0 Done
PktType1 Done
PktType0 Header
PktType0 Pay
PktType0 Done
Команды:
$ paste <(awk '/Type0 Done/ { print ++c }' file) <(grep -n 'Type0 Done' file) | tr ':' ' ' | column -t
1 1 PktType0 Done
2 4 PktType0 Done
3 8 PktType0 Done
grep -n conf file |
sed -Ee 's/^([[:digit:]]*):/\1 /' |
cat -n
Шаг sed
связан с тем, что grep -n
ставит двоеточие между номером строки и текстом, который не был указан в желаемом выводе.