Citação:
Originally Posted by fpmurphy
Humm, eu olhei para este script algumas vezes e arranhado minha cabeça.
Você definir a variável 'q' de uma string
Código:
q="scale=3; $zpos"
Ainda que você espera para poder subtrair um número a partir dele
Como é que isto significa para o trabalho?
|
Oi,
Eu revisitado ela arranhou minha cabeça e muito bem! Há um erro no script ... se
firstslice é maior que
lastslice não vai funcionar. Então eu procurei um rumo diferente usando awk.
como um lembrete, este é o que quero fazer, tenho uma lista de arquivos:
Código:
sl40_z11.70.txt
sl41_z11.40.txt
sl42_z11.10.txt
sl43_z10.80.txt
Quero circuito esses arquivos mantendo intacta sua rotulagem. Por exemplo, eu quero fazer em um único script
Código:
cp sl40_z11.70.txt sl40_z11.70.dat
cp sl41_z11.40.txt sl41_z11.40.dat
cp sl42_z11.10.txt sl42_z11.10.dat
cp sl43_z10.80.txt sl43_z10.80.dat
Tenho centenas destes arquivos e eu preciso para realizar outras operações não trivial sobre eles. Problema é bash não reconhece flutuante números de modo que não posso para cima deles.
meu novo script é:
Código:
#!/bin/sh
#
echo -n "....enter first slice number....."; read firstslice
echo -n "....enter last slice number....."; read lastslice
#
echo -n "....enter first Z-coordinate position....."; read zpos
#sliceDiff=0.3
#
loopNumber=$[($lastslice - $firstslice)+1]
echo "loopNumber is $loopNumber"
echo firstslice no. is $firstslice
for ((k=$firstslice;k<=$lastslice; k++)); do
r=$[k]
echo "$firstslice $r $zpos" | awk '{print $3-(($2-$1)*0.3)}'
#echo "$firstslice $r $zpos" | awk '{print $i}' sl$2_z[$3-(($2-$1)*0.3)].txt > xxxx.dat
done
Então executando esse script e digitar no prompt "40", "43", "11,70"
loops durante os 4 arquivos agradàvel. Mas eu não sei como a incorporar a saída para a última linha do script awk de modo a que reconhece o nome do arquivo.
Qualquer ajuda seria muito apreciada.
Felicidades