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

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

script para alterar campo em linha de arquivo


From: merthobu
Subject: script para alterar campo em linha de arquivo
Date: Sat, 21 Apr 2007 14:07:42 -0000
User-agent: eGroups-EW/0.82

Olá pessoal, preciso de um help.
Gostaria de gerar 15 arquivos de um arquivo original, porém alterando
um valor no campo de uma determinada linha, ou seja , para cada valor
alterando no campo dessa linha ele escreve a saida do arquivo
acrescentando o valor alterando (por exemplo arq1.0 , arq2.0 , arq3.0
, etc).
Será possível rodar esse arquivo original com uma mistura de bash +
awk para fazer o que preciso.

Meu arquivo que rodaria o arquivo original é esse:
h2.sh
date > h2.log
../alchfon/int.exe < h2teste.inp > h2teste.out
date >> h2.log

Estou tentando modificar esse script para algo do tipo...

#!/bin/csh
foreach pos (0.5; 0.7; 0.9; 1.1; 1.3; 1.5)
awk -f troca.awk < h2int.inp > h2int$pos.inp
../alchfon/int.exe < h2int$pos.inp > h2int$pos.out
end

onde o troca.awk é

{
if ( NR == 7 )
gsub($4,$4=$pos)
}

E o arquivo h2int.inp é :

SUPMAT
 O 5 FUNCTIONS
 O : 5S4P  N: 5S4P
    1    3  X  Y  Z    1.E-14              0         1
 150.00000 10.00000 
        1.    1    2    4    1    0   
O   +0.00000  +0.00000   0.70000      0 
    3    1    1    1
33.8650  .0254938 5.09479  .190373   1.15879  .852161
0.32584  1.000
.102741  1.000
.03600   1.000
    1
0.7500   1.000

Estou tentando mudar a linha 7 no quarto campo:

O   +0.00000  +0.00000   0.70000      0 

Pela variável "pos" que trocará os valores (0.5 até 1.5) nesse campo
desejado e salvando nos arquivos com o nome do arquivo original + o
valor mudado (h2int$pos.inp , onde $pos são os valores do intervalo
acima).

A idéia seria boa se funcionasse...como não funciona...é uma má idéia!
 :-(((

O troca.awk funciona na linha de comando da shell, mas dentro do
script ele parece gerar o esperado, contudo arquivo gerado
h2int$pos.inp fica vazio. Sinceramente não sei o que está ocorrendo...
alguma luz para esse meu problema?
Melhoras nesse script são também bem vindos, ainda sou meio tosco em
shell e a coisa piora quando tento combinar awk + shell.
Desde já agradecido pessoal.

humberto




reply via email to

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