![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Создание соединения узлов для графики | anjas | Shell программирование и сценарии | 4 | 06-18-2009 05:42 AM |
| Больших файлов FTP - Получение "Соединение отказано" | bullz26 | HP-UX | 4 | 10-25-2008 07:52 AM |
| Проблема при FTP из большого файла | rprajendran | UNIX для чайников Вопросы И Ответы | 1 | 05-28-2008 02:19 AM |
| узлы | kamisi | UNIX для чайников Вопросы И Ответы | 3 | 05-30-2002 04:47 PM |
| I-узлы | djatwork | UNIX для чайников Вопросы И Ответы | 4 | 09-25-2001 01:29 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Создание большого соединения узлов для графики
Привет власти пользователя,
В принципе, эта нить является продолжением предыдущего :Создание соединения узлов для графики Тем не менее, я хочу объяснить еще раз. Я этого следующие данные: file1 А. А. А. А. Б А. А. С BB X BB Y BB Z CC O CC С CC Q . . . . . . . . и я хочу, чтобы включить их в узлы связи, как это: file2 А АА А А АА B А АА C B AA C B AA B C AA C BB X X BB X Y BB X Z BB Y Z BB Y Y BB Z Z . . . . . . . . . . . . Я сделал это соотношение, чтобы создать график. Размер файла составляет более 6.000.000 линий. Для небольших файлов (100.000 линий), я использовал этот скрипт в предыдущие темы: вступить-O 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '! A [$ 3 $ 2 $ 1]; (A [$ 1 $ 2 $ 3 ]++}' вступить-O 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '$ 1 <$ 3 (печати, затем) (печати $ 3, $ 2, $ 1)' | сорт-U nawk ' NR \u003d\u003d ПЧН (C \u003d A [$ 1], а [$ 1] \u003d C? C "" $ 2: $ 2;) следующая (C \u003d A [$ 1] если (C) ( Сплит (C, B) для (К Б) ( P \u003d $ 2 <B [K]? $ 2 "" $ 1 "" B [K]: B [K] "" $ 1 "" $ 2 если (! D [P] + +) P печати ) ) ) 'File1 file1 Для небольших файлов, эти три вида сценариев может создать сеть только в менее чем 10 минут. Однако, для файлов с более чем 6.000.000 строк, даже после одного дня, не было результатов на всех . Есть ли быстрый способ сделать это? Любое предложение, как можно создать с помощью file2 Perl или AWK? Tx |
|
||||
|
Извините за ошибки. Теперь, я отремонтировал размещения. Привет власти пользователя, В принципе, эта нить является продолжением предыдущей: Создание соединения узлов для графики Тем не менее, я хочу объяснить еще раз. Я этого следующие данные: file1 А. А. А. А. Б А. А. С BB X BB Y BB Z CC O CC С CC Q . . . . . . . . и я хочу, чтобы включить их в узлы связи, как это: file2 А АА А А АА B А АА C B AA C B AA B C AA C BB X X BB X Y BB X Z BB Y Z BB Y Y BB Z Z . . . . . . . . . . . . Я сделал это соотношение, чтобы создать график. Размер файла составляет более 6.000.000 линий. Для небольших файлов (100.000 линий), я использовал этот скрипт в предыдущие темы: Код:
join -o 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '!a[$3$2$1];{a[$1$2$3]++}'
Код:
join -o 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '$1<$3{print;next}{print$3,$2,$1}' | sort -u
Код:
nawk '
NR==FNR { c = a[$1]; a[$1] = c?c" "$2:$2; next }
{ c = a[$1]
if (c) {
split(c,b)
for (k in b) {
p = $2<b[k]?$2" "$1" "b[k]:b[k]" "$1" "$2
if (!d[p]++) print p
}
}
}
' file1 file1
Для небольших файлов, эти три вида сценариев может создать сеть только в менее чем 10 минут. Однако, для файлов с более чем 6.000.000 строк, даже после одного дня, нет никаких результатов вообще. Есть ли быстрый способ сделать это? Любое предложение, как можно создать с помощью file2 Perl или AWK? Tx |
|
|||||
|
Попробуйте ... Код:
awk '{n=++a[$1];b[$1,n]=$2}END{for(c in a)for(n=1;n<=a[c];n++)for(z=1;z<=n;z++)print b[c,z],c,b[c,n]}' file1|sort -k 2,2 -k 1,1 -k 3,3
Результат ... Код:
A aa A A aa B A aa C B aa B B aa C C aa C X bb X X bb Y X bb Z Y bb Y Y bb Z Z bb Z O cc O O cc P O cc Q P cc P P cc Q Q cc Q |
![]() |
| Закладки |
| Теги |
| График, узлы |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|