thinomar
(usa Linux Mint)
Enviado em 30/08/2016 - 12:17h
Há diversas formas de se filtrar apenas o conteúdo desejado. Comando grep, cut, awk, sed, etc. Por exemplo, exemplificando o comando do
morvan:
cat /proc/cpuinfo | grep -i cores | cut -f2 -d: | sort -bu
Onde ele utiliza o cat para ler o arquivo /proc/cpuinfo, o grep -i para filtrar a palavra "cores", ignorando o case, o cut -f2 -d: para pegar apenas o segundo campo com delimitador ":" e o sort -bu para pegar uma única linha.
Vamos converter para
awk:
awk 'BEGIN{IGNORECASE=1} /cores/ && !linha {linha = 1 ; print $(NF)}' /proc/cpuinfo
No final do comando temos o nome do arquivo.
BEGIN{IGNORECASE=1} pré-define que o awk vai ignorar o case nas comparações e buscas e equivale ao
-i do grep. O
/cores/ && !linha diz que só é para executar o restante do comando nas linhas que possuirem a palavra "cores" e quando a variável "linha" estiver vazia ou nula, o que faz o "/cores/" equivaler ao
grep e o "!linhas" ao
sort -bu.
linha = 1 atribui um valor a variável "linha", para que após a primeira linha válida, as outras não passem mais pela validação que acabei de explicar. Por fim, o
print $(NF) imprime o último campo, que é o que possui o valor buscado, visto que a variável reservada do awk NF equivale ao número total de campos.
Como você pôde ver, há diversas formas de fazer a mesma coisa e de filtrar conteúdo, basta explorá-las até encontrar a que mais te agrade e mandar ver.