De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários