web-dev-qa-db-fra.com

Comment multiplier un fichier de données .txt par un nombre constant?

J'ai un fichier .txt avec une colonne. c'est environ 8000 numéros. Comment puis-je multiplier cette colonne de données par 1000000?

9
O.E

Vous pouvez utiliser la commande awk :

awk '{print $1*1000000}' file.txt
23
N0rbert

Si les nombres dans le fichier sont des entiers ou de simples valeurs à virgule flottante, vous pouvez utiliser l'utilitaire numfmt avec --from-unit= pour indiquer la mise à l'échelle souhaitée.

Ex. donné

$ cat file
1.23
5
3.45
17
6.78
23

puis

$ numfmt --from-unit=100000 < file
123000.00
500000
345000.00
1700000
678000.00
2300000

Vous pouvez ajouter une variété de formats de style printf- à la sortie, par exemple.

$ numfmt --from-unit=100000  --format="%'12.2f" < file
  123,000.00
  500,000.00
  345,000.00
1,700,000.00
  678,000.00
2,300,000.00

Sinon, avec sed et bc:

sed 's/$/ * 100000/' file | bc

ou (variante de polissage inverse)

sed 's/$/ 100000 * p/' file | dc
16
steeldriver