-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 | Olá pessoal, tor fazendo migração de um arq .txt pra outro. | O primeiro é temperatura em Kelvin mais ou menos assim: | | 295,51 297,95 292,33 294,77 | 296,45 300,18 293,76 298,13 | | Preciso passar ele pra Celsius, ou seja, subtrair o valor de cada | coluna do arquivo anterior por 273,15 o que ficaria assim: | | 22,36 24,80 19,18 21,62 | 23,30 27,03 20,61 24,98 | | 295,51-273,15=22,36 | 296,45-273,15=23,30 e assim por diante, mas o arq eh imenso. | | Tentei fazer com xargs, expr e naum consegui.. | | Quem poder dá uma dica ficarei muito grato... | Se alguém tiver dúvidas sobre os arquivos, posso esclarecer.. | Abraço a todos...
Não entendi onde xargs entra nisso, mas tudo bem. Seu problema está no separador decimal. Vírgula não é separador decimal padrão de nenhum sistema computacional que eu conheça. Ela entra somente na internacionalização das coisas. Então, seu primeiro passo é mudar seu arquivo, trocando tudo o que for vírgula por ponto. Pode fazer algo assim: ~ $ sed -i 's/\,/\./g' arquivo.txt se sua versão do sed suportar o parâmetro -i ou ~ $ tr -s ',' '.' < arquivo.txt > arquivotrocado.txt Depois, você fará uma leitura sequencial do arquivo, registro a registro, e poderá utilizará o bc para efetuar os cálculos, mais ou menos assim: ~ $ echo "295.51-273.15" | bc que resulta em 22.36. Nas mensagens antigas da lista há soluções com awk e outras, até mais elegantes. Procure-as. - -- Um abraço .0. MrBiTs - [EMAIL PROTECTED] ..0 GnuPG - http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186 000 http://www.mrbits.com.br -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFIdKn8rDdxWm3R8YYRAny2AKCEynlaFnzS4zx8DRZkA5lP8GeNhQCeIL5R R61ETUQJJr88ldHlefvato0= =APeM -----END PGP SIGNATURE-----
