=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE DICA UNIX
Dica Unix 2524 - 29 de novembro de 2006
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
METAVALORES EM UM SHELL SCRIPT
Pegando o tamanho de um arquivo, contagem de links ou outros metavalores em um shell script.
Quando você precisa extrair um trecho de uma metainformação sobre um arquivo específico ( como tamanho, contagem de links ou um de seus timestamps ), você utiliza o find com a opção -print e mais algumas outras diretivas % - listadas na man page do find(1). Exemplo :
tamanho=$(find algumarquivo -printf “%s”)
( funciona no ksh, bash e outros shells similares ). Foi utilizado a forma $() porque é um formato mais compatível que o antigo operador `` ( aspas invertidas ). ( Outra vantagem do $() é que o mesmo é mais estável ). Para pegar o nome de usuário de um arquivo de nome foo, você utiliza :
set owner = find foo -maxdepth 0 -printf "%u"
( agora estamos utilizando a sintaxe do csh ). Utilizamos a opção -maxdepth neste caso pois “foo” é um nome de diretório, e nós não precisamos imprimir todos os donos dos arquivos que estão dentro dele. A opção maxdepth 0, força simplesmente que sejam imprimidos os detalhes do link específico que pedimos na linha de comando.
Isto pode ser muito mais flexivel que as opções fornecidas pelo comando test ( tente visualizar se dos arquivos são maiores um que o outro, ou se dois arquivo tem o mesmo dono, ou até o mesmo grupo, utilizando o comando test ).
Esta dica foi generosamente remetida por : jdennis@linuxcare.com
Para entrar : http://www.ugu.com/sui/ugu/show?tip.subscribe Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPRIEDADE DA UNIX GURU UNIVERSE E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPIO RISCO". UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM PRODUÇÃO.Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2006