The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Linux Shell Вопрос: Как печатать корпуса скрипту имя? meili100 UNIX для чайников Вопросы И Ответы 3 07-01-2008 02:55 PM
Shell скрипт вопрос jbou1087 Shell программирование и сценарии 2 05-06-2008 03:01 AM
Скрипт вопрос surjyap Shell программирование и сценарии 2 11-24-2005 05:48 AM
Просто скрипт оболочки вопрос frustrated1 Shell программирование и сценарии 8 07-03-2005 03:22 AM
BASH скрипт оболочки вопрос ewarmour Shell программирование и сценарии 3 05-24-2002 06:10 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-28-2007
tselvanin tselvanin is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2003
Сообщений: 10
скрипт оболочки вопрос

Я использую KSH.

Существует доклад с суммы в следующем формате

34343,67 -
2343,45
23434,89 -

Я хотел бы подытожить все суммы. Для этого я в первую очередь необходимо выяснить, если есть знак "минус" на конце и префикса до подведения итогов. Как этого добиться?

Я думал, использование массива для хранения ценностей, а затем суммировать суммы, в то время как с помощью петли. Но не имеют малейшего представления о том, как конвертировать суммы ниже формат,

-34343,67
2343,45
-23434,89

Любая помощь оценили.
Спасибо!
Old 08-28-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2557

Код:
awk '/-$/ { c=c-$0 }
     !/-$/ { c=c+$0 }
END {print c }' "file"

Old 08-28-2007
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Регистрация: Dec 2004
Место проведения: Сингапур
Сообщений: 2350
Как насчет этого?

Код:
#!/usr/bin/ksh
final=""
while read line; do
        case $line in
                [0-9]*.*[0-9]*-) final=$final-${line%-*};;
                *) final=$final+$line ;;
        esac
done < /path_to_file_with_numbers
finalsum=$(echo $final | bc)
echo $finalsum

Я не делаю много ошибок валидации или здесь. Скрипт ожидает, действительные числа.
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 05:21 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0