[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] Substituir_determinada_posição_dentro_de_um_arquivo,
opa <=