--- Em [email protected], jimmy <ronaldo_...@...> escreveu > > On Thu, Jan 22, 2009 at 08:40:34PM -0000, edmarssouza wrote: > > Ei ai pessoal, tudo bem? > > Espero que sim. > > Estou com um problema e peço a contribuição de todos na medida do > > possível. > > É o seguinte, estou começando a programar em awk, sei que a lista não > > serve > > a esse fim, mais sei que vocês são humilde para entender uma > > dificuldade. > > O problema é o seguinte, no shell eu usava a simples sintaxe para > > filtrar o > > /proc/meminfo: > > > > awk 'BEGIN {FS=":"} /MemTotal/ {print $2}' /proc/meminfo > > e > > awk 'BEGIN {FS=":"} /model name/ {print $2}' /proc/cpuinfo > > > > só que como estou querendo programar apartir de um arquivo awk sem > > usar o shell, > > não estou conseguindo usar o awk para ler esses arquivos. Sei que tem > > um > > jeito com um tal de getline. A pergunta é: O que é o getline no awk e > > como > > usá-lo para filtrar os dois arquivos acima, de dentro de um script > > awk, sem > > usar a função system()? > > > > Desde já meu muito obrigado pela atenção de todos, ai julio se > > possivel contribui > > ai, pois sei que de awk e shell você é fera. Obrigado pessoal, até > > mais. > > > > Obs: Eu li o manual do gawk mais meu inglês não é dos melhores, assim > > sendo > > não pude tira muito proveito. > > > > > > ------------------------------------ > > saudações edmar, > > sem usar o shell em momento algum dentro do script a única forma que > conheço é a seguinte: > > #!/usr/bin/awk -f > > BEGIN { > while((getline line < "/proc/meminfo") > 0) { > if(line ~ /MemTotal/) { > split(line,l,/ +/); > print l[2],l[3] > } > } > } > > na linha do "getline", o while irá armazenar cada linha do arquivo > "/proc/meminfo" dentro da variável "line" enquanto o retorno da função > for maior que zero, ou seja, enquanto ele puder ler o arquivo. > > espero que esse simples script lhe sirva de exemplo. > > uma observação é que estou usando o gnu awk (gawk), e como há várias > implementações diferentes dessa linguagem, não sei se esse código > funcionaria em outro interpretador. >
E ai jimmy meu velho, obrigadão era isso mesmo, esse getline está me dando uma surra. Tava difícil. E é um bom exemplo sim, é uma catastrofe encontra apostila, artigo ou tutorial de awk em português. Espero que algum dia eu possa retribui o favor. Agradeço mesmo de coração. Vou testar aqui filtrando os dois ou mais arquivos ao mesmo tempo no script awk...rsrsrs. Valeu. muito obrigado. Até mais!
