Mudar nomes em um arquivo texto

1. Mudar nomes em um arquivo texto

Antonio Carlos
cainf

(usa Debian)

Enviado em 27/02/2013 - 15:34h

Salvem a todos

Pessoal preciso da seguinte solução, possuo um arquivo texto onde tenho que colocar a palavra ISENTO, mas esse campo está em vários lugares, gostaria de algo dessa forma

Fazer uma procura no arquivo onde, eu informo quais as posições serao alteradas, exemplo linha 10 coluna 550 apartir da linha 10 mudo os campos seguintes para ISENTO

- Hoje esses campo não estão com espaços e sim preenchidos por numeros 0

- Existem varias linhas em cada arquivo

Se eu achar uma forma de digitar a palavra ISENTO e alterar vários campos em vários lugares diferentes seria uma grande ajuda


Obrigado a todos


  


2. Re: Mudar nomes em um arquivo texto

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2013 - 16:36h

cainf escreveu:

Salvem a todos

Pessoal preciso da seguinte solução, possuo um arquivo texto onde tenho que colocar a palavra ISENTO, mas esse campo está em vários lugares, gostaria de algo dessa forma

Fazer uma procura no arquivo onde, eu informo quais as posições serao alteradas, exemplo linha 10 coluna 550 apartir da linha 10 mudo os campos seguintes para ISENTO

- Hoje esses campo não estão com espaços e sim preenchidos por numeros 0

- Existem varias linhas em cada arquivo

Se eu achar uma forma de digitar a palavra ISENTO e alterar vários campos em vários lugares diferentes seria uma grande ajuda


Obrigado a todos


Opa cainf, beleza?

Somente os campos que serão alterados para a palavra ISENTO estão com esses zeros? Todos eles possuem a mesma quantidade de zeros? Poderia postar um trecho do arquivo que contenha uns três campos, só pra clarear as idéias?

Sem saber direitinho como está o arquivo é meio complicado, mas a princípio, o sed cuida disso rapidinho :p. Exemplo... se a quantidade de zeros for uniforme (000, por exemplo) em todo arquivo e eles estejam ocupando somente os campos que é para trocar pela palavra ISENTO, basta rodar:


$ sed 's/000/ISENTO/g' <arquivo> > <arquivo2>


Flw.


3. Re: Mudar nomes em um arquivo texto

Antonio Carlos
cainf

(usa Debian)

Enviado em 27/02/2013 - 16:44h

Amigo é quase isso, vamos la quando eu abro no arquivo no vim ao mexer no cursor vai mostrando onde estou em linhas e colunas correto, eu tenho que comparar com outro arquivo em excel para saber onde farei essa alteração e nao referente onde contém 0

Exemplo

Achei onde preciso alterar é na linha 6 coluna 550 apartir dai eu insiro a palavra ISENTO

Vou postar o arquivo, todos seguem o mesmo padrao eu sei que se eu alterar um campo nao vai bagunçar pois o arquivo ja contem os espaços correto, estou bolando um novo layout é isso

Desde já agradeço pela ajuda


1001261574972013010120130131
20000315420130131105644GW6B9CZURPS 000000000000 26157497202065011000185 COMERCIAL IMPORTADORA E SERVICOS LTDA R DO ROCIO 00423 CJ1801/02/03/04/05/14 VL OLIMPIA São Paulo SP04552000 0T 00001009247220130213000000000300000000000000000000016940500000000000015000000000000000000N20536825000010033802475000000000000CGD EMPREENDIMENTOS S/A R VERGUEIRO 04911 SALA 01 VILA MARIANA São Paulo SP04101300 AUTOMAÇÃO - IRPJ 1,5% R$ 45,00|CT/13008 - VENCTO 22/02/13
20000315320130131105457DDSPBGCYRPS 000000000000 26157497202065011000185 COMERCIAL IMPORTADORA E SERVICOS LTDA R DO ROCIO 00423 CJ1801/02/03/04/05/14 VL OLIMPIA São Paulo SP04552000 0C20130131000000000000 000000000295500000000000000000016940500000000000014775000000000000000N20536825000010033802475000000000000CGD EMPREENDIMENTOS S/A R VERGUEIRO 04911 SALA 01 VILA MARIANA São Paulo SP04101300carla@ventuno.com.br AUTOMAÇÃO - IRPJ 1,5% R$ 45,00|CT/13008 - VENCTO 22/02/13
20000315220130129115918FDUPEIRJRPS 000000000000 26157497202065011000185 COMERCIAL IMPORTADORA E SERVICOS LTDA R DO ROCIO 00423 CJ1801/02/03/04/05/14 VL OLIMPIA São Paulo SP04552000marcospinheiro@cynthron.com.br 0T 00001009247220130213000000000320000000000000000000072850500000000000016000000000000004800N10003768422119100000000000000000000JOESLEY MENDONCA BATISTA AVEMARGINAL DIREITA DO TIETE 500 VILA JAG


4. Re: Mudar nomes em um arquivo texto

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2013 - 17:04h

São grandes essas linhas hein. Não tenho conhecimento para resolver o problema, mas veja só, esse arquivo que você está querendo tratar não tem um separador definido. Mas eu sei que dá pra fazer, pois nesse tópico:

http://www.vivaolinux.com.br/topico/Shell-Script/Ler-dados-em-um-arquivo-de-texto

O colega foxbit3r conseguiu separar os campos, com o awk. Veja lá pra você entender.

Eu acredito que seja o caminho para resolução deste problema. Posso ajudar somente no quesito achar a linha:


$sed -n 6'p;' <arquivo>


Onde, o "6" é o número da linha.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts