shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Saber se um arquivo é um arquivo texto.


From: Jeferson A. Cassol
Subject: Re: [shell-script] Saber se um arquivo é um arquivo texto.
Date: Wed, 17 Dec 2008 22:29:09 -0200

file -i <arquivo> | grep "text/"
ajuda em uma boa parte de arquivos....

-- 
--
Jeferson A. Cassol
2008/12/17 Julio C. Neves <address@hidden>

>   Fala Elder,
> troque o cat por strings. Se vc fizer strings arq.txt, ele te lista arq.txt
> como se vc tivesse feito um cat, mas se vc fizer strings /bin/ls, ele só
> listará alguns trechos legíveis, sem 'empepinar' o monitor.
> --
> Abração,
> Julio
> *Cursos de Shell e Zenity nos finais de semana:
> - Em SP ligue (11) 2125-4747;
> - Em DF ligue (61) 3223-3000;
> - Turmas fechadas em outras cidades ligue (21) 8112-9988
> *
>
> 2008/12/16 Elder Marco <address@hidden <eldermarco%40gmail.com>>
>
> > 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
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]