é. o -f do test faz isso. 2008/12/16 Elder Marco <[email protected]>
> Olá, > > Bom, num dos meus primeiros scripts, eu decidi escrever algo que pudesse me > ser útil. Não raro, dou um cat em um arquivo texto para saber seu conteúdo, > mas preciso usar algumas opções do cat (como mostrar o número da linha) ou > conectar a saída do comando para o less. De vez em quando eu também dou um > vacilo e acabo dando um cat em um arquivo que não é texto ... :( > > Então decidi fazer um script que recebe um ou dois parâmetros. Se receber > dois, o primeiro será um parâmetro para o comando cat ou um comando que > envia a saída dele para o lesse e o segundo será o arquivo que deve ser > lido. O que eu preciso saber, além de outras coisas, é se esse arquivo é ou > não um arquivo texto. Primeiramente pensei em inserir algo da seguinte > maneira: > > if [ ! -n $(file $ARQUIVO | grep text ) ; then > echo "$ARQUIVO não é um arquivo texto " > exit 1 > fi > > (eu não fechei o if acima porque esse bendito teclado aqui está > desconfigurado no momento em que escrevo e não consigo achar a tecla que > fecha os colchetes!) > > No entanto, eu percebi que isso nem sempre pode funcionar pois o comando > file pode lidar com algum arquivo texto e não necessariamente ter um "text" > na sua saída (por exemplo, o /etc/sudoers no Fedora 8). E convenhamos, isso > é muita gambiarra não é? :-) > > Uma opção que achei útil --- e é aqui que está a minha dúvida --- é a opção > -f do comando test que verifica se um arquivo é um arquivo regular. > > O que significa exatamente um arquivo ser um arquivo regular? Eu poderia > utilizar isso para saber se o arquivo é ou não um arquivo texto (e portanto > poderia ser lido com o cat)? Ou existe uma forma mais elegante de saber > isso? > > Abs > > -- > Elder Marco > > Linux User: #471180 > > "O conhecimento é tristeza: aqueles que mais sabem são os que mais > profundamente devem lamentar a mais fatal verdade, a árvore do conhecimento > não é a da vida." (Versos extraídos da tragédia Manfred, de Byron e citado > por Nietzsche em "Humano, demasiado humano") > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Antônio Flávio F. Rodrigues LPIC-1 [As partes desta mensagem que não continham texto foram removidas]
