[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
- script para alterar campo em linha de arquivo,
merthobu <=