J'utilise actuellement indicator-sysmonitor
pour afficher ma CPU et le pourcentage de [RAM] _ dans la barre d'état système. Mais je voudrais ajouter ma vitesse de processeur. Maintenant, je sais qu’il existe plusieurs commandes (par exemple, lscpu | grep "CPU-frequentie"
(néerlandais)) pour obtenir la vitesse du processeur, mais j’aimerais vouloir ceci: 2,85 GHz.
Comment puis-je modifier une sortie telle que 2850.153 en quelque chose comme 2,85 GHz?
Après quelques expériences, j'ai créé un script qui renvoie quelque chose comme 3.12GHz ou 2.80GHz. Cela force la sortie à être X.XXGHz.
Tout d'abord, j'ai utilisé un script de cette réponse .
Ensuite, j'ai fait ce script:
#!/bin/bash
speed=$(div $(lscpu | grep CPU-frequentie | awk '{print $3;}' | cut -d'.' -f1) 1000 | awk '{print substr($1,2); }' | cut -c -4)
if [ ${#speed} -ge 4 ]; then :
else speed=$speed"0"
fi
echo $speed"GHz"
Vous trouverez ci-dessous un exemple plus court:
#!/bin/sh
lscpu |awk -F : '($1=="CPU MHz") {printf "%3.2fGHz\n", $2/1000}'
Notez que, sur mon système, utilisant un processeur AMD et la version 2.27.1 de lscpu sur le serveur Ubuntu 16.04 (64 bits), j’ai des lignes dans la sortie, comme suit:
CPU MHz: 4000.000
CPU max MHz: 4000.0000
CPU min MHz: 1400.0000
La commande awk utilise ":" comme séparateur de champ. Il recherche la ligne commençant par "CPU MHz", puis affiche simplement la valeur sur 1000 (conversion MHz en GHz) au format 3.2 - trois chiffres significatifs avec deux décimales.
D'après votre question, vous semblez rechercher "CPU-frequentie" est la sortie lscpu. Je ne sais pas à quoi ressemble la sortie de votre lscpu, mais je suppose que vous devrez peut-être remplacer "CPU-frequente" par "CPU MHz" dans la ligne awk
Pour être complet, le résultat obtenu sur mon système est le suivant:
4.00GHz