![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Сценарий извлечения неверные данные из текстового файла | jermaine4ever | Shell программирование и сценарии | 6 | 03-16-2009 12:18 PM |
| Неверный логин шекелей? | Juterassee | SUN Solaris | 5 | 10-30-2008 11:08 AM |
| Неправильное имя | espace1000 | UNIX для чайников Вопросы И Ответы | 2 | 08-22-2008 07:48 AM |
| Логин Неправильно | sydney2008 | Red Hat | 6 | 08-22-2008 05:57 AM |
| Неправильное имя каталога | jand102821 | UNIX для чайников Вопросы И Ответы | 1 | 06-19-2002 05:35 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Awk неверные данные.
Я использую следующую команду: Код:
nawk -F"," 'NR==FNR {a[$2$3]=$1;next} a[$2$3] {print a[$2$3],$1,$2,$3}' file1 file2
Я получаю 40 записей выходных. Но когда я импортировать file1 и file2 в MS Access я получаю 140 записей. И я знаю, 140 правильно рассчитывать. Благодарим Вас за помощь в устранении этого скрипта |
|
||||
|
Цитата:
У меня есть два файла $ Голове file1 ZIP, Имя, Фамилия 07777, ABC, DEF 22584, декабрь, ДЛО 25487, XYZ, JKL 25488, Dim, Kio $ Голове file2 Цель сервера баз данных SSN, Имя, Фамилия 123456789, ABC, DEF 123456789, декабря, ДЛО 123456789, XYZ, JKL 123456789, Dim, Kio хотели Результат: SSN, ZIP, FirstName, LastName Код:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file2 file1
40 Matches
Код:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file1 file2
140 matches
140 матчах является правильным, но я знаю, как следует уделять 140 я не знаете, почему ее предоставления разница. Можете ли вы объяснить эту часть ($ 2 SUBSEP $ 3) A [$ 2, $ 3] мы используем здесь, потому что ее это запятую inputfile или это общее правило If I Dont использовать, то и я получаю же результат |
|
|||||
|
Цитата:
Также я не понимаю, почему у вас трейлинг двойная кавычка (в красном) в обоих случаях? Цитата:
Код:
a[$2,$3] В контексте индекса массива здания, в "," заменяется на AWK внутренние переменные SUBSEP. Если позже вы решите "Сплит" индекс (чтобы найти его частей), можно разделить на SUBSEP. Если вы просто сцеплять строки, вы не сможете восстановить ее индекс оригинальных деталей. Первоначально решение должно размещаться дать вам желаемый результат. Учитывая file1: Код:
zip,FirstName,Lastname 07777,abc,def 22584,dec,dlo 25487,xyz,jkl 25488,dim,kio и file2: Код:
SSN,Firstname,LastName 123456789,abc,def 123456789,dec,dlo 123456789,xyz,jkl 123456789,dim,kio Продолжительность: Код:
nawk -F, 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file2 file1
Результаты: Код:
123456789,07777,abc,def 123456789,22584,dec,dlo 123456789,25487,xyz,jkl 123456789,25488,dim,kio Проверьте ваш file1 и file2 - узнать, есть ли там уже какие-либо расхождения и / или вдавившиеся пространств. Кроме того, это не входит в Ваш первый форум и вы просили в прошлом: пожалуйста, используйте BB Код теги при публикации данных и примеры кода. |
|
||||
|
Цитата:
Код:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file1 file2
В приведенном выше код, если я переключу file1 и fie2 позиции тогда я получаю разные результаты. Я не могу отправить файлы из-за чувствительности данных. Я визуально проверяются файлы, и я вижу, нет специальных символов, или ничего. Есть специальная команда для проверки этого. Благодарим Вас за ответ. |
|
|||||
|
Цитата:
Доктор: Тогда не делают тот! Позиции файлов в командной строке, имеет важное значение для картирования полей из одного файла в другой. Посмотрите на ваши файлы данных поля - стараться, чтобы увидеть разницу, и посмотреть на исходный комментарий для картографирования логики. Удачи. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|