![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Нужна помощь в сортировке | ali560045 | Shell программирование и сценарии | 2 | 12-04-2007 07:38 AM |
| сортировать | prasathlogu | UNIX для чайников Вопросы И Ответы | 1 | 10-08-2007 07:56 AM |
| сортировать помочь | УНИКС | Shell программирование и сценарии | 14 | 04-30-2007 08:28 AM |
| дю-ч | рода? | fongthai | Shell программирование и сценарии | 6 | 11-02-2006 08:59 PM |
| Сортировать Помогите! | kev112 | Shell программирование и сценарии | 3 | 05-30-2005 04:13 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
отсортировать и обобщить
Привет ребята,
У меня есть файл в UNIX с дубликатами, я использовать рода команду, чтобы удалить дубликаты основанные на ключевых должностях / колонки, но сейчас я не хочу "Удалить" дубликатов, но суммировать основные числовые столбцы. Нужен ХЕЛП ... СРОЧНО!!! Спасибо заранее. Сорт-K-U 1.1,1.92 файла> outfile |
|
||||
|
Вот пример:
1288M99G14 ALA201001 +00000000,000 +00000005,000 1288M99G14 ALA201001 +00000000,000 +00000005,000 1288M99G14 ALB201001 00000005,000 00000000,000 1288M99G14 ALA201002 +00000000,000 +00000017,000 1288M99G14 ALB201001 +00000017,000 00000000,000 1288M99G14 ALA201002 +00000000,000 +00000005,000 Результат: 1288M99G14 ALA201001 +00000000,000 00000010,000 1288M99G14 ALB201001 +00000023,000 00000000,000 1288M99G14 ALA201002 +00000000,000 00000023,000 Поэтому итоги первых 2 полях |
|
||||
|
Попробуйте это
имя файла \u003d $ 1
сортировать $ файла | AWK 'BEGIN (FS \u003d"+"; prev_key1 \u003d ""; prev_key2 \u003d 0; prev_key2 \u003d 0; первый \u003d 1;) ( # Печать "asdfdafsdfsdfasf |" prev_key1 "|" $ 1 если ($ 1 \u003d\u003d prev_key1) ( prev_key2 + \u003d $ 2; prev_key3 + \u003d $ 3; ) еще ( если (! первый) printf ( "% 20.20s + +% 08.3f% 08.3f \ N", prev_key1, prev_key2, prev_key3); еще первый \u003d 0; prev_key1 \u003d $ 1; prev_key2 \u003d $ 2; prev_key3 \u003d $ 3; ) ) END (printf ( "% 20.20s + +% 08.3f% 08.3f \ N", prev_key1, prev_key2, prev_key3);) ' |
|
|||||
|
Цитата:
) |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|