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 <[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 > [As partes desta mensagem que não continham texto foram removidas]
