shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Substituir_determinada_posi��o_dentro_de_um_arquivo


From: opa
Subject: Re: [shell-script] Substituir_determinada_posição_dentro_de_um_arquivo
Date: Tue, 27 Apr 2004 22:13:11 -0300 hrN

Oi:

Para mim não ficou totalmente claro, mas como você ainda está sem resposta 
vou arriscar.

Considerarei a pior hipotese: $1 deve ser substituido somente se ocorrer na 
posição 81 da linha e apenas nesse ponto.

Não sabendo de algo adequado, de mais alto nivel, eu faria com o recursos do 
próprio shell, substituindo o sed por outro while, aninhado no primeiro.

Experimente isto no lugar da linha com o seu sed:

while read L;do echo -n "${L:0:80}">>aux.txt
 if [ "${L:80:2}" == "$1" ];then echo -n "$2">>aux.txt
 else echo -n "${L:80:2}">>aux.txt; fi
 echo  "${L:82}">>aux.txt
done<$arq

Cruze os dedos, e tenha backup dos arquivos. :)


---------------------------------------------------------------------
>From: "Laura Jane Silva De Azevedo Melo" <address@hidden>
>Date: Tue, 27 Apr 2004 10:22:14 -0300
>
>Bom Dia!
>
>Gostaria de saber como substituir uma string em determinada posição den
>tro do arquivo, tenho o script abaixo que substitui strings, mas eu quero e
>specificar a posição que desejo alterar (ex: a string está nas posi
>ções 81-82 - e sempre começa com zero - seguido de outro número). E
>u sei que é fácil, mas estou "engatinhando" no sh ainda.
>
>#!/bin/bash 
>ls * | while read arq
>do
>sed s/$1/$2/g $arq > aux.txt
>mv aux.txt $arq
>done
>
>Desde já agradeço a atenção.
>Laura




reply via email to

[Prev in Thread] Current Thread [Next in Thread]