METAVALORES DE UM SHELL SCRIPT

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE
DICA UNIX
Dica Unix 2889 - 01 de janeiro de 2008
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

METAVALORES DE UM SHELL SCRIPT

Pegando o tamanho de um arquivo, contagem de links ou qualquer outro metavalor via shell script.

Se você precisa extrair uma parte específica das informações meta de um arquivo específico ( como tamanho, contagem de links ou algum dos seus timestamps ) você pode utilizar a opção -printf e algumas das muitas diretivas listadas na man page do find(1). Exemplo :

size=$(find some_file -printf "%s" )

( no ksh, bash e outros shells similares ). A forma $() é equivalente ao antigo  operador `` ( back tip ) . ( Outra grande vantagem do uso do $() é que ele é mais fácil de ser visualizado ). Para pegar o nome de usuário do dono de um arquivo de nome "foo" você deve usar :

set owner = `find foo -maxdepth 0 -printf "%u"`

( aqui, estamos usando a sintaxe do csh ). Este comando também utiliza a opção -maxxdepth caso "foo" seja o nome de um diretório, caso logicamente não queiramos explorar todo o diretório procurando pelos nomes dos donos dos arquivos que estejam nele. Usando maxdepth 0 iremos ter certeza de que somente o link que especificamos na linha de comando será impresso. 

Isto é muito mais flexível que as opções providas pelo comando test ( tente usar o mesmo para testar se dois arquivos são maiores ou se dois arquivos são de propriedade de algum usuários específico ou de um grupo qualquer, usando somente o test ).

-----------------------------------------------------------------------

Para assinar: 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 PROPIEDADE 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-2008
======================================