Однострочная команда для умножения из файла в bash - PullRequest
0 голосов
/ 08 февраля 2019

Как следует из заголовка, возможно ли умножить два числа вместе, считав из файла арифметическое расширение, используя только команды echo или cat?я знаю, что вы можете сделать это с помощью bc, но я хотел сделать что-то немного другое.Допустим, у нас есть текстовый файл

Текстовый файл

12*9
2*3

, и мы используем cat multiply.txt | bc, но изменим его так, чтобы он не требовал использования bc, новместо этого читает в файле и выполняет математику самостоятельно, без использования bc и с использованием вместо этого арифметического расширения?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Вам не нужны cat или

for a in $(< test.txt); do echo "$(($a))" ; done

или

while read -r a; do echo "$(($a))"; done < test.txt

, которые бы обрабатывали лучшие пробелы и другие символы в файле

0 голосов
/ 08 февраля 2019

Это может быть сделано так (позже узнал это не правильный путь , прочитайте комментарии ниже)

for a in $(cat test.txt); do echo "$(($a))" ; done

Результат:

108
6

Только сcat и echo это можно сделать так, но количество строк в файле должно быть известно заранее, и создание массива может завершиться неудачей по той же причине, что и for.

a=( $(cat test.txt) ); echo "$((${a[0]}))" ; echo "$((${a[1]}))"

108
6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...