Существуют различные программы / файлы, которые предоставляют вам эту информацию:
lscpu | grep -i MHz
cat / proc / cpuinfo | grep -i mhz
(хотя эта информация явно отсутствует в вашей системе)
cpufreq-info
, это наиболее полный:
$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Доминик Бродовски 2004-2009
Сообщайте об ошибках (скрытых), пожалуйста.
анализ ЦП 0:
driver: acpi-cpufreq
ЦП, которые работают на одной и той же аппаратной частоте: 0
ЦП, частота которых должна согласовываться программным обеспечением: 0
максимальная задержка перехода: 10,0 мкс.
аппаратные ограничения: 1,20 ГГц - 2,67 ГГц
доступные шаги частоты: 2,67 ГГц, 2,67 ГГц, 2,53 ГГц, 2,40 ГГц, 2,27 ГГц, 2,13 ГГц, 2,00 ГГц, 1,87 ГГц, 1,73 ГГц, 1,60 ГГц, 1,47 ГГц, 1,33 ГГц, 1,20 ГГц { {1}} доступные регуляторы cpufreq: ondemand, производительность
текущая политика: частота должна быть в пределах от 1,20 ГГц до 2,67 ГГц.
Регулятор ondemand может решить, какую скорость использовать
в этом диапазоне.
текущая частота ЦП составляет 1,20 ГГц.
анализ ЦП 1:
драйвер: acpi-cpufreq
ЦП, которые работают на одной и той же аппаратной частоте: 1
ЦП, частота которых должна координироваться программным обеспечением: 1
максимальная задержка перехода: 10,0 мкс.
аппаратные ограничения: 1,20 ГГц - 2,67 ГГц
доступные шаги частоты: 2,67 ГГц, 2,67 ГГц, 2,53 ГГц, 2,40 ГГц, 2,27 ГГц, 2,13 ГГц, 2,00 ГГц, 1,87 ГГц, 1,73 ГГц, 1,60 ГГц, 1,47 ГГц, 1,33 ГГц, 1,20 ГГц { {1}} доступные регуляторы cpufreq: ondemand, производительность
текущая политика: частота должна быть в пределах от 1,20 ГГц до 2,67 ГГц.
Регулятор ondemand может решить, какую скорость использовать
в этом диапазоне.
текущая частота ЦП составляет 1,20 ГГц.
анализирующий ЦП 2:
драйвер: acpi-cpufreq
ЦП, которые работают на той же аппаратной частоте: 2 {{1} } Процессоры, частота которых должна координироваться программным обеспечением: 2
максимальная задержка перехода: 10,0 мкс.
аппаратные ограничения: 1,20 ГГц - 2,67 ГГц
доступные шаги частоты: 2,67 ГГц, 2,67 ГГц, 2,53 ГГц, 2,40 ГГц, 2,27 ГГц, 2,13 ГГц, 2,00 ГГц, 1,87 ГГц, 1,73 ГГц, 1,60 ГГц, 1,47 ГГц, 1,33 ГГц, 1,20 ГГц
доступные регуляторы cpufreq: ondemand, performance {{1 }} текущая политика: частота должна быть в пределах от 1,20 ГГц до 2,67 ГГц.
Регулятор "ondemand" может решить, какую скорость использовать
в этом диапазоне.
Текущая частота процессора составляет 1,20 ГГц.
анализ ЦП 3:
драйвер: acpi-cpufreq
ЦП, которые работают с одинаковой аппаратной частотой: 3
ЦП, частота которых должна координироваться программное обеспечение: 3
максимальная задержка перехода: 10,0 мкс.
аппаратные ограничения: 1,20–2,67 ГГц
доступные шаги частоты: 2. 67 ГГц, 2,67 ГГц, 2,53 ГГц, 2,40 ГГц, 2,27 ГГц, 2,13 ГГц, 2,00 ГГц, 1,87 ГГц, 1,73 ГГц, 1,60 ГГц, 1,47 ГГц, 1,33 ГГц, 1,20 ГГц
доступные регуляторы cpufreq: ondemand, performance
текущая политика: частота должна быть в пределах от 1,20 ГГц до 2,67 ГГц.
Регулятор "ondemand" может решить, какую скорость использовать
в этом диапазоне.
текущий процессор частота составляет 1,20 ГГц.
Использование данных вашего примера:
$ grep -Fo 1007 file | wc -l
19
Часть grep
этого конвейера будет искать строку1007
(флаг -F
используется, потому что мы выполняем сравнение строк, а не сопоставление регулярных выражений ). Он будет возвращать каждый отдельный экземпляр строки в новой строке из-за флага -o
. Количество возвращенных строк подсчитывается wc -l
.
Если строка встречается дважды в строке входных данных, она будет подсчитана дважды. Если строка является подстрокой другого слова, она также будет учитываться.
Сawk
:
$ awk -v str="1007" '{ c += gsub(str, str) } END { print c }' file
19
Это подсчитывает количество раз, когда строка встречается с помощьюgsub()
(эта функция возвращает количество раз, когда выполняется замена, и мы применяем ее к каждой строке ввода отдельно )и печатаем общее количество в конце. Интересующая нас строка передается в командной строке с помощью -v str="1007"
.
Если вам нужно использовать awk, вы можете использовать эту команду:
awk '{for (i=1;i<=NF;i++) if ( $i == "word/number that you want to search") c++ }'END'{print c}' filename
Команда:
awk '{print gsub("1007",$0)}' filename | awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}'
-0-praveenk_22@:~ $
выход
awk '{print gsub("1007",$0)}' u.txt | awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}'
19
-0-praveenk_22@:~ $