The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как сложить столбик чисел из файла или поменять концы строк ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как сложить столбик чисел из файла или поменять концы строк ..."  
Сообщение от Fou (??) on 25-Ноя-07, 20:31 
Есть текстовый файл, например, numbers.txt в котором в каждой строке одно число. Как сложить эти числа скриптом? Под Linux.
Отдельной утилитой или средствами bash.

Есть идея в файле заменить концы строк на " + " и тогда
echo $(($(cat numbers.txt)))
выдаст сумму. Но как называется утилита способная заменить концы строк на набор текстовых символов?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как сложить столбик чисел из файла или поменять концы строк ..."  
Сообщение от newser (ok) on 25-Ноя-07, 21:05 
>Есть текстовый файл, например, numbers.txt в котором в каждой строке одно число.
>Как сложить эти числа скриптом? Под Linux.
>Отдельной утилитой или средствами bash.

Реализуется простым циклом while на bash

>Есть идея в файле заменить концы строк на " + " и
>тогда
>echo $(($(cat numbers.txt)))
>выдаст сумму. Но как называется утилита способная заменить концы строк на набор
>текстовых символов?

Утилита называется sed.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как сложить столбик чисел из файла или поменять концы строк ..."  
Сообщение от Аноним on 26-Ноя-07, 08:13 
>Есть текстовый файл, например, numbers.txt в котором в каждой строке одно число.
>Как сложить эти числа скриптом? Под Linux.
>Отдельной утилитой или средствами bash.

cat numbers.txt | (
s=0
while read n
do
  s=$(($s+$n))
done
echo $s
)

>Есть идея в файле заменить концы строк на " + " и
>тогда
>echo $(($(cat numbers.txt)))
>выдаст сумму. Но как называется утилита способная заменить концы строк на набор
>текстовых символов?

Не советую так делать. Рано или поздно файл станет достаточно большим и этот способо перестанет работать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как сложить столбик чисел из файла или поменять концы строк ..."  
Сообщение от phpcoder email(??) on 26-Ноя-07, 10:40 
[...]
>Есть идея в файле заменить концы строк на " + " и
>тогда
>echo $(($(cat numbers.txt)))
>выдаст сумму. Но как называется утилита способная заменить концы строк на набор
>текстовых символов?

paste:

[c0der@rock ~]$ cat TEST
1
2
3
[c0der@rock ~]$ echo $((`paste -d+ -s TEST`))
6

Но, вам уже правильно сказали, что когда будет много чисел в файле, это работать не будет. Поэтому я бы рекомендовал использовать awk:

[c0der@rock ~]$ awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' TEST
6

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру