Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Conversão de arquivos ASCII entre os ambientes MS-DOS e Unix e Linux

Colaboração: Jose Fernando Scheid Mascarenhas

Data de Publicação: 02 de Julho de 2007

O script efetua a conversão de arquivos ASCII (.txt) entre os ambientes MS-DOS e Unix/Linux. Os arquivos no formato .txt gerados no ambiente MS-DOS utilizam os caracteres 0x0d e 0x0a para delimitar suas linhas. Já no ambiente Unix/Linux, as linhas são delimitadas somente pelo caracter 0x0a. Quem já teve a oportunidade de trabalhar com o ambiente XENIX, com certeza utilizou as ferramentas dtox e xtod para efetuar tais conversões e posteriormente efetuar um ´doscp´ (mcopy no Linux) para ler/gravar os arquivos em disquete. O script dever ser copiado para o diretorio /usr/local/bin com o nome de xtod. Posteriormente executar o comando "ln xtod dtox" para criar o link. Se o script for executado com o nome de xtod a conversão será feita do formato Unix/Linux para o formato MS-DOS e ser for chamado como dtox a conversão será feita do formato MS-DOS para Unix/Linux.

Eu utilizo o script para imprimir arquivos .txt gerados no Linux em impressoras laser que às vezes costumam imprimir tudo na mesma linha.

Exemplos de utilização:

  $ xtod arq1.txt | lp -dhplaser
  
  $ cal 2007 | lp -dhpjet
  
  # Converte de Linux para MS-DOS
  $ xtod < arq_txt.linux > arq_txt.msdos
  
  # Converte de MS-DOS para Linux
  $ dtox < arq_txt.msdos > arq_txt.linux
  #! /bin/bash
  #
  #  @(#) xtod/dtox v.1.0 03/10/2005
  #
  #       Unitech Informatica Ltda
  #       Autor: J. Fernando Scheid Mascarenhas
  #  /usr/local/bin/xtod  - Converte arquivos ASCII do formato Unix para o formato DOS.
  #       ou
  #  /usr/local/bin/dtox  - Converte arquivos ASCII do formato DOS para o formato Unix.
  #
  #
  CMD_NAME=`basename $0`
  if [ ${CMD_NAME} = dtox ]
    then
    RUN_NAME="tr -d '\015'"
  else
    RUN_NAME="awk '{ printf(\"%s\r\n\"),\$0 }'"
  fi
  
  if [ $# -eq 0 ]
    then
    if [ -t 0 ]
       then
       echo -e "${CMD_NAME} - Convercao de arquivos ASCII\n"
       echo -e "Uso:\n    ${CMD_NAME} arq1 arq2 ... arqn > arq_saida"
       echo -e "               ou"
       echo -e "          <comando> \| ${CMD_NAME} > arq_saida\n"
       exit 255
    else
       filelist="-"
    fi
  else
   filelist="$*"
  fi
  for file in "$filelist"
  do
   cat "$file" | eval ${RUN_NAME}
  done
  exit 0

Veja a relação completa dos artigos de Jose Fernando Scheid Mascarenhas

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1452 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Programando o Android