[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Converter arquivo EBCDIC para ASCII
From: |
Isac Luz |
Subject: |
Re: [shell-script] Converter arquivo EBCDIC para ASCII |
Date: |
Tue, 27 Jan 2009 23:32:23 -0200 |
Eu uso um script que eu fiz para estes casos, segue:
*#!/bin/sh
# Parametros: $1 - Arquivo
# $2 - Tamanho para conversao
if [ "$1" = "" -o "$2" = "" ]; then
echo "Favor executar ./ebcdic_ascii.sh <arquivo> <blocagem> !"
else
# Nome de entrada do arquivo
arq=$(basename $1)
# Diretorio onde se encontra o arquivo
dir=$(dirname $1)
# Diretorio para testes
## Troca os caractes binarios NULO "@" pelo caracter INTERROCAGAO "o"
awk '{ gsub("@","o",$0) ; print $0 }' $1 > ./$arq.temp1
## Converte arquivos de xxx posicoes
dd if=./$arq.temp1 of=./$arq.temp2 conv=unblock,ascii cbs=$2
## Troca os caractes INTERROGACAO pelo ESPACO BRANCO
awk '{ gsub("?"," ",$0) ; print $0 }' ./$arq.temp2 > ./$arq.temp1
## Efetua o calculo do total de linhas do arquivo e retira a ultima com o
ctrl+M
total=$(cat ./$arq.temp1 | wc -l)
novo=$(($total-1))
head -$novo ./$arq.temp1 > $1
rm -f ./$arq.temp2
fi
exit 0*
Testa ae e me avisa
2009/1/27 Arthur M. Meskelis <address@hidden>
> Ué, estranho.
>
> Bem, você pode tentar usar o iconv.
>
> $ iconv -f <conjunto de caracter do arquivo de entrada> -t <conjunto
> de caracter do arquivo de saida> <arquivo de entrada>
>
> dê um iconv -l que ele vai exibir diversos character-set.
>
>
[As partes desta mensagem que não continham texto foram removidas]