![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Если же логика Else | jadionne | UNIX для чайников Вопросы И Ответы | 7 | 11-23-2007 04:27 AM |
| не может получить логика | dineshr85 | Shell программирование и сценарии | 3 | 10-11-2007 08:34 AM |
| Странная логика | ganesh123 | Shell программирование и сценарии | 5 | 03-20-2007 05:08 PM |
| Какова логика | ramneek | Сеть IP | 2 | 09-05-2005 08:42 AM |
| Как запустить программу, когда я начала моего компьютера? | l008com | UNIX для чайников Вопросы И Ответы | 1 | 06-23-2002 09:30 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
нужна логика, чтобы начать с AWK / ш
Привет друзья!
Я застрял, где с начала .. Я уже один входной файл, как ниже. когда я хочу записать данные сравнить с моими данными читать .. Проблема заключается в том, что читать данные должны быть сопоставлены с последней записи данных на этот адрес. Примечание Оба-записи данных И читать данные в один и тот же файл. TXADDR И TXDATA средств и записи RXADDR И RXDATA средств - читать Код:
120 : TXADDR : 00000000 Код:
240 : TXDATA 0000000000000001
280 : TXDATA 0000000000000002
320 : TXDATA 0000000000000003
360 : TXDATA 0000000000000004
400 : TXDATA 0000000000000005
Код:
1042 : RXADDR : 00000000 Входной файл Код:
120 : TXADDR : 00000000
240 : TXDATA 0000000000000001
280 : TXDATA 0000000000000002
320 : TXDATA 0000000000000003
360 : TXDATA 0000000000000004
400 : TXDATA 0000000000000005
1042 : RXADDR : 00000000
1080 : TXADDR : 00000020
1200 : TXDATA 0000000000000011
1240 : TXDATA 0000000000000012
1280 : TXDATA 0000000000000013
1320 : TXDATA 0000000000000014
1321 : RXDATA 0000000000000001
1360 : TXDATA 0000000000000015
1361 : RXDATA 0000000000000002
1401 : RXDATA 0000000000000003
1441 : RXDATA 0000000000000004
1481 : RXDATA 0000000000000005
1880 : TXADDR : 00000040
2000 : TXDATA 0000000000000021
2040 : TXDATA 0000000000000022
2080 : TXDATA 0000000000000023
2120 : TXDATA 0000000000000024
2120 : TXDATA 0000000000000025
Благодаря И Привет, user_prady Последний раз редактировалось user_prady; на 09-01-2008 01:28 AM.. |
|
||||
|
Если данные всегда будут получены в порядке, оно было отправлено? Если это так, то попробуйте следующее:
Код:
awk '/TX/ { print $NF }' datafile > sent
awk '/RX/ { print $NF }' datafile > received
diff sent received
Последний раз редактировалось Annihilannic; на 09-01-2008 01:39 AM.. Причина: забыл 'datafile' |
|
||||
|
Цитата:
Нет его не хотели, что данные не recevied пока уточнить, если я только для чтения. Подумайте, как RAM (чтение памяти) Я записывает в память по specifing TXADDR И TXDATA и я retrives данных, когда я указать, что адрес RXADDR, я получаю RXDATA например, в прошлом написана в тот адрес. Собственно Wrrtting и чтения являются независимыми друг от друга. После того, как я даю TXADDR И TXDATA (5 всплеск - В входного файла вы можете увидеть пять строк исходных данных contineously). Потом после этого я буду читать эти значения, когда идет RXADDR .. Предположим, я написания к одному и тому же адресу два раза нажмите чтения с этого адреса, то все прочитать последнюю ценность, что написано на этот адрес. Спасибо user_prady Последний раз редактировалось user_prady; на 09-01-2008 02:09 AM.. |
|
||||
|
Нечто подобное этому? (не тестировалось много)
Код:
awk '
/TXADDR/ { txaddr=$NF }
/RXADDR/ { rxaddr=$NF }
/TXDATA/ { txdata[txaddr,++txindex[txaddr]]=$NF }
/RXDATA/ {
if ($NF != txdata[rxaddr,++rxindex[rxaddr]]) {
print "rxdata " $NF " for address " rxaddr " does not match transmitted: " txdata[rxaddr,rxindex[rxaddr]]
}
}
' inputfile
|
|
||||
|
Цитата:
Пожалуйста, дайте краткое идея того, что делает это заявление, Код:
txdata[txaddr,++txindex[txaddr]] Привет, user_prady Последний раз редактировалось user_prady; на 09-01-2008 03:29 AM.. |
|
||||
|
Цитата:
мой друг его, как представляется, не работает, для этого случая INFILE Код:
120 : TXADDR : 00000000
240 : TXDATA 0000000000000011
280 : TXDATA 0000000000000012
320 : TXDATA 0000000000000013
360 : TXDATA 0000000000000014
1080 : TXADDR : 00000000
1200 : TXDATA 0000000000000001
1240 : TXDATA 0000000000000002
1280 : TXDATA 0000000000000003
1320 : TXDATA 0000000000000004
2002 : RXADDR : 00000000
2040 : TXADDR : 00000020
2160 : TXDATA 0000000000000011
2200 : TXDATA 0000000000000012
2240 : TXDATA 0000000000000013
2280 : TXDATA 0000000000000014
2281 : RXDATA 0000000000000001
2321 : RXDATA 0000000000000002
2361 : RXDATA 0000000000000003
2401 : RXDATA 0000000000000004
Код:
rxdata 0000000000000001 for address 00000000 does not match transmitted: 0000000000000011 rxdata 0000000000000003 for address 00000000 does not match transmitted: 0000000000000012 rxdata 0000000000000003 for address 00000000 does not match transmitted: 0000000000000013 rxdata 0000000000000004 for address 00000000 does not match transmitted: 0000000000000014 Просьба дать мне предложение .. Привет, Pradyumna |
|
||||
|
Цитата:
Поэтому для удовлетворения вашей второй ситуации, все, что вам нужно сделать, это сбросить txindex [txaddr] вразрез с 0 каждый раз новую TXADDR не встречается. Точно так же можно сбросить rxindex [rxaddr] борьбы каждый раз, когда RXADDR не встречается. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|