Simples visualizador de arquivos texto

Publicado por Sandro Marcell 06/06/2007

[ Hits: 4.842 ]

Homepage: http://sanmarcell.wordpress.com

Download VER.TCL




Visualize arquivos e algumas características como: tamanho, dono, tipo, data de modificação, etc...

É meio tosco mas quebra um galho.

  



Esconder código-fonte

#!/usr/bin/tcl
#
# Visualizador tosco de arquivos texto em Tcl.
#
# Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Boa Vista - RR, 30/05/2007

# Testes condicionais:
if {$argc == 0 || $argc >1} {
   puts stdout "\nUso: [file tail $argv0] \[arquivo\]\n"
   exit
} elseif {![file exists $argv]} {
   puts stdout "\nErro -> Arquivo não encontrado.\n"
   exit
} elseif {![file readable $argv]} {
   puts stdout "\nErro -> Sem permissão para visualizar.\n"
   exit
} elseif {[file isdirectory $argv]} {
   puts stdout "\nErro -> O arquivo é um diretório.\n"
   exit
}

# Opções para o usuário: 
puts -nonewline stdout "
+-------------------------------------------------+
| 1 - Visualizar informações sobre o arquivo |
+-------------------------------------------------+
| 2 - Visualizar conteúdo do arquivo             |
+-------------------------------------------------+
\nO que fazer?:"
gets stdin OPC

set L [exec clear]

# Condicional switch:
switch -exact $OPC {
   1 {
   set A [file attributes $argv -owner]
   set B [file attributes $argv -permissions]   
   set C [
      set T [file atime $argv]
      set TL [clock format $T -format "%d/%m/%y às %H:%M:%S"]
         ]
   set D [
      set T2 [file mtime $argv]
      set TL2 [clock format $T2 -format "%d/%m/%y às %H:%M:%S"]
         ]
   set E [file size $argv]
   set F [file type $argv]

# Informações na tela:
puts stdout $L
puts stdout "Informações sobre o arquivo: \[$argv\]\n
Dono                           -->   $A
Permissões (em octal)  -->   $B
Último acesso              -->   $C
Última modificação       -->   $D
Tamanho                     -->   $E (bytes)
Tipo de arquivo            -->   $F\n"
}
        2 {
      # Abrindo e visualizando arquivo:
      puts stdout $L
      set V [open $argv r]
          while {![eof $V]} {
             set M [gets $V]
          puts stdout $M
       }
    }
   default {
      puts stdout "\nErro -> Opção inválida!\n"
      exit
   }
}

# Fim...

Scripts recomendados

Simples relógio digital

Compactando arquivos e diretórios simultâneamente

Criando uma simples lixeira para o usuário [Melhorado]

Convertendo escalas termométricas

Compactando / descompactando arquivos (Melhorado)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts