![Как умножить два столбца в файле на постоянное число](https://rvso.com/image/89085/%D0%9A%D0%B0%D0%BA%20%D1%83%D0%BC%D0%BD%D0%BE%D0%B6%D0%B8%D1%82%D1%8C%20%D0%B4%D0%B2%D0%B0%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D0%B0%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%20%D0%BD%D0%B0%20%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%BD%D0%BE%D0%B5%20%D1%87%D0%B8%D1%81%D0%BB%D0%BE.png)
У меня есть такой файл.
входные данные
4.2394 4.4569
4.2427 4.1011
4.2879 4.1237
4.2106 4.4844
4.2373 4.1071
4.1322 4.0502
4.3103 4.4255
4.4342 4.5262
Мне нужно умножить каждый элемент на постоянный множитель (в этом примере множитель равен 8,06573), чтобы получить следующий результат:
выход
34.193855762 35.948152037
34.220472671 33.078365303
34.585043667 33.260650801
33.961562738 36.169959612
34.176917729 33.126759683
33.329209506 32.667819646
34.765716019 35.694888115
35.765059966 36.507107126
решение1
Я думаю, это делает то, что вам нужно; он принимает переменную awk с именем «factor», которую можно легко присвоить любому нужному вам значению:
awk -v factor=8.06573 '{printf "%2.9f %2.9f\n", $1 * factor, $2 * factor}'
При заданных входных данных выводит:
34.193855762 35.948152037
34.220472671 33.078365303
34.585043667 33.260650801
33.961562738 36.169959612
34.176917729 33.126759683
33.329209506 32.667819646
34.765716019 35.694888115
35.765059966 36.507107126