The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Как читать колонки и распечатать ценностей в соответствии с этой колонке gemini106 Shell программирование и сценарии 6 03-28-2008 07:05 AM
Как проверить Null значения в файле колонка колонки, если колонка не NULLs Mandab Shell программирование и сценарии 7 03-15-2008 09:57 AM
Использование AWK расчета в среднем столбце 3 grossgermany UNIX для чайников Вопросы И Ответы 6 07-27-2007 01:29 PM
расчета в среднем столбце 2 onthetopo UNIX для чайников Вопросы И Ответы 0 07-06-2007 08:16 PM
Как мне рассчитать долю? the_learner Программирования высокого уровня 6 04-18-2007 04:40 PM

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-29-2008
saleru_raja saleru_raja is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2008
Сообщений: 2
Как рассчитать процент значения в столбце

Привет, я с файла, который содержит следующие две колонки.
518 _factorial
256 _Главная
73 _atol
52 ___do_global_ctors
170 ___main
52 ___do_g
Как можно рассчитать долю каждого значения в первом столбце?
в первую очередь необходимо, чтобы сумма в первой колонке, а затем каждое значение разделите на сумму и умножить на 100, чтобы получить процент.
Как мы можем написать сценарий для этого?

Спасибо и наилучшими пожеланиями
Раджа
Old 08-29-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Регистрация: Май 2008
Место проведения: Сидней, Австралия
Сообщений: 1009
Попробуйте это:

Код:
awk '
        NR > max { max=NR }
        { tot+=$1; v[NR]=$1; d[NR]=$2 }
        END { for (i=1; i<=max; i++) { print v[i]*100/tot,v[i],d[i] } }

' inputfile
Она печатает% в первой колонке.
Old 08-29-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4294
Другой подход:

Код:
awk 'NR==FNR{t+=$1;next}{printf("%.2f %s\n", $1/t*100, $2)}' file file
Привет
Old 08-29-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Регистрация: Май 2008
Место проведения: Сидней, Австралия
Сообщений: 1009
Да, это намного аккуратнее.
Closed Thread

Закладки

Теги
Доля Колонки

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

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

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

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




Часовой пояс GMT -4. Текущее время 10:41 PM.


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