I made a simple program but it prints all CPU speeds on ONE line... Any suggestions how to make each CPU print on its own line?
#!/bin/bash
while [ 1 ]
do
my_array=( $(cat /proc/cpuinfo | grep MHz) )
printf '%s\033[A\n%s\033[A\n%s\033[A\n%s\033[A\n' "${my_array[*]}"
sleep 1
done
CodePudding user response:
You can use
watch "cat /proc/cpuinfo | grep MHz"
CodePudding user response:
You could use
#!/bin/bash
while [ 1 ]
do.
IFS="\n"
my_array=( $(cat /proc/cpuinfo | grep MHz) )
for item in ${my_array[*]}
do
echo ${item}
sleep 1
clear
done
done
Pay attention to the IFS
variable. IFS=$'\n'
(newline) is required to interpret each line from the multiline grep output as a new array item.
By default, IFS
is [::space::]
or not defined.