Как я могу получить название модели моего процессора?

Чтобы запустить более классический рабочий стол, мы можем установить gnome-session-fallback Install gnome-session-fallback.

См. Этот вопрос по многим параметрам настройки классического рабочего стола:

Для> = 12.10 это будет выглядеть следующим образом:

Мы можем при входе выбрать, какую среду рабочего стола нам нравится запускать:

  • [ 1118] Нажмите на символ Ubuntu или GNOME рядом с вашим логином:

    enter image description here

  • Это откроет меню с различными средами рабочего стола, которые мы можем используйте сейчас:

    enter image description here

  • Выберите GNOME classic для рабочего стола GNOME без Unity. В качестве примера я добавил док ( docky Install docky), чтобы показать возможные настольные решения. Эта док-станция не будет включена в стандартный рабочий стол GNOME classic.

    enter image description here

6
задан 30.12.2017, 05:00

3 ответа

$ lscpu | sed -nr '/Model name/ s/.*:\s*(.*) @ .*/\1/p'
Intel(R) Atom(TM) CPU  Z3735F

Примечания

  • -n ничего не печатать, пока мы не попросим об этом
  • -r использовать ERE
  • /Model name/ найти строку с Model name
  • s/old/new/ заменить old на new
  • .*:\s* что-нибудь перед двоеточием, двоеточием и любым количеством горизонтального пространства
  • (.*) @ сохранить любое количество символов перед ' @'
  • \1 ссылкой на сохраненный шаблон
  • p печатать только строку, которую мы редактировали

] Чтобы избавиться от двойных пробелов, вы можете выполнить дополнительную команду s:

$ lscpu | sed -nr '/Model name/ s/  / /g; s/.*:\s*(.*) @ .*/\1/p'
Intel(R) Atom(TM) CPU Z3735F

Не работает, если где-то больше двух пробелов, поэтому, чтобы безостановочно удалить несколько пробелов, используйте sed loop:

$ lscpu | sed -nr ':a;s/  / /;ta; /Model name/ s/.*: (.*) @ .*/\1/p'
Intel(R) Atom(TM) CPU Z3735F 

Этот :a;s/ / /;ta продолжает обрабатывать поток до тех пор, пока нигде не будет двойных пробелов. Обратите внимание, что адрес не будет принят, поэтому нам пришлось просмотреть весь поток, прежде чем выбрать строку. Это не займет заметного количества времени, когда мы только анализируем вывод lscpu, но для огромного файла или для нескольких файлов это может стать довольно медленным. Вместо этого мы могли бы перенаправить вывод исходной команды в другую sed с помощью цикла, чтобы избежать работы со всем потоком:

$ lscpu | sed -nr '/Model name/ s/.*:\s*(.*) @ .*/\1/p' | sed ':a;s/  / /;ta'
Intel(R) Atom(TM) CPU Z3735F
14
ответ дан 09.07.2019, 22:47
  • 1
    Это работает, но есть еще лишние пробелы. – Jonathan Rosenne 22.12.2017, 08:53
  • 2
    @ Извините, извините, я чем-то отвлекся. Я отредактировал свою оригинальную версию, чтобы обрезать завершающий пробел, и добавил версию, которая удаляет все двойные пробелы – prewett 22.12.2017, 09:35
lscpu | grep 'Model name' | cut -f 2 -d ":" | awk '{$1=$1}1'
  • lscpu Чтобы получить информацию о процессоре
  • grep 'Model name' Извлечь строку, содержащую имя процессора.
  • cut -f 2 -d ":" Удалить часть строки перед :. Таким образом, он удалит часть «Model name:» из вывода.
  • awk '{$1=$1}1' Для удаления пробела из начала строки.

Пример вывода

$ lscpu | grep 'Model name' | cut -f 2 -d ":" | awk '{$1=$1}1'
Intel(R) Pentium(R) CPU N3520 @ 2.16GHz
1
ответ дан 09.07.2019, 22:47

Используйте это, чтобы получить то, что вы хотите:

lscpu | grep "Model name:" | sed -r 's/Model name:\s{1,}//g'

Результат:

Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz

Или:

lscpu | grep "Model name" | sed -r 's/Model name:\s{1,}(.*) @ .*z\s*/\1/g'

Результат:

Intel(R) Core(TM) i5-4210U CPU
2
ответ дан 09.07.2019, 22:47
  • 1
    Но это не избавляет от «Название модели:» впереди. – HappyPandaFace 22.12.2017, 08:09
  • 2
    Пожалуйста, опубликуйте пример того, что вы хотите, извините за путаницу! – Roland Illig 22.12.2017, 08:13
  • 3
    Делать с мобильного так проверить и дайте мне знать – basic6 22.12.2017, 08:16

Теги

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