![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Рисунок из комплекса сортировки | w020637 | Shell программирование и сценарии | 7 | 02-05-2009 03:13 PM |
| сортировать данные в разных столбцах | mogabr | Shell программирование и сценарии | 15 | 08-04-2008 07:07 AM |
| Управлять сложными XML данных в Oracle XML DB 11G | iBot | Oracle Обновления (RSS) | 0 | 04-06-2008 06:10 AM |
| Скрипт для сортировки данных | wizardy_maximus | Shell программирование и сценарии | 1 | 11-21-2007 04:30 AM |
| сортировать данные | bjorb | Shell программирование и сценарии | 11 | 09-15-2005 06:22 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Сортировать комплекс данных
Привет,
Может ли кто-нибудь здесь поможет сортировка следующие числовые данные в порядке? ВХОД: ПЕРВЫЙ ABC (3) DEF (13) fgh (1) ijk (6) ABC (2) ВТОРОЙ dfe (10) ABC (4) hij (19) tlm (1) hij (1) узла (10) ABC (1) подается (3) ДРУГИЕ hij (10) Мок (4) bub (19) hij (1) ABC (2) ABC (15) ABC (1) hij (3) OUTPUT: ПЕРВЫЙ DEF (13) ijk (6) ABC (3) ABC (2) fgh (1) ВТОРОЙ hij (19) dfe (10) узла (10) ABC (4) подается (3) ABC (1) hij (1) tlm (1) ДРУГИЕ bub (19) ABC (15) hij (10) Мок (4) hij (3) ABC (2) ABC (1) hij (1) Заранее благодарим вас за вашу помощь!!! |
|
||||
|
Этот вывод сложнее, поскольку она, как представляется, сортировка по двум разным направлениям, в алфавитном порядке, но обратный численно ... командной сортировать не может сделать это, нужно быть написание собственного корпуса основе сортировки подпрограмм. Является ли форма выходного действительно что строгое? Что данные за?
|
|
||||
|
Да. Необходимость сортировки чисел в убывающем порядке, в каждой строке.
Спасибо! |
|
||||
|
Вот часть кода, которая могла бы, вероятно, будет более эффективным, но я думаю, какие вы хотите:
Код:
#!/bin/sh
while read TITLE LINE
do
ARR=( $LINE )
for ((N=0; N<${#ARR}; N++))
do
if [[ -z "${ARR[$N]}" ]]
then
break
fi
OLDIFS="${IFS}"
IFS="()"
VAL=( ${ARR[$N]} )
printf "%s %s\n" ${VAL[1]} ${VAL[0]}
IFS="${OLDIFS}"
done | sort -rn | (
echo -n $TITLE
while read I STR
do
echo -n " ${STR}(${I})"
done
echo )
done
exit 0
Код:
$ echo "FIRST abc(3) def(13) fgh(1) ijk(6) abc(2) SECOND dfe(10) abc(4) hij(19) tlm(1) hij(1) hub(10) abc(1) fed(3) OTHERS hij(10) mok(4) bub(19) hij(1) abc(2) abc(15) abc(1) hij(3)" | ./sorter.sh FIRST def(13) ijk(6) abc(3) abc(2) fgh(1) SECOND hij(19) hub(10) dfe(10) abc(4) tlm(1) hij(1) abc(1) OTHERS bub(19) abc(15) hij(10) mok(4) abc(2) hij(1) abc(1) $ |
|
||||
|
Данные из CVS журнала, и я только забота о количестве, а не алфавитный.
Все, что я хочу сделать, это сорт numers в каждой строке. Спасибо! |
|
||||
|
Она не в строке "ARR \u003d ($ LINE)".
синтаксическая ошибка в строке 5: `ARR \u003d 'неожиданным |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|