|
|
|
|
Google Site
|
|||||||
| Форумы | Регистрация | Блог | Человек Страницы | Правила форума | Ссылки | Альбомы | ЧАВО | Пользователи | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
![]() |
|
|
Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|||
|
колонка поиска
Привет,
Мне нужно искать одного файла основывается на въезд от другого; напр. file1 имеет записей; 45654 34768 12345 File2 имеет записей 23234 somestring 4312 45654 somestring 34768 12345 somestring 45654 так мне нужно выбрать первого въезда в file1, который напр. '45654 'И искать эту запись только в "колонке 1' из file2. Затем сохраните 3 входа (колонка 3) из той же линии на переменную. (будет использоваться позже). Любая помощь будет признателен. |
| Рекламные ссылки | ||
|
|
|
|||
|
Код:
$ ls file? file1 file2 $ cat file1 45654 34768 12345 $ cat file2 23234 somestring 4312 45654 somestring 34768 12345 somestring 45654 $ join -o 2.3 file1 file2 34768 надеюсь, что это помогает, -C |
|
||||
|
Вот решение поместить значения в переменные: Код:
sort file1 > $$temp1 sort file2 > $$temp2 join -o 1.1 2.3 $$temp1 $$temp2 | \ while read mLine do set -- $mLine echo "Pattern = "$1" Result = "$2 done rm -f $$* |
|
|||
|
Колонка поиска
Спасибо за ответы, ребята.
Но 'прихода' isn't собирается решить мою проблему. То, что я пытаюсь сделать, это выбрать один пункт, в то время из file1 и найдите соответствующую запись в file2 и сохранить ценности, связанные в column3 этого файла 2 в переменную X. $ Кота file1 45654 34768 12345 $ Кота file2 23234 somestring 4312 45654 somestring 34768 12345 somestring 45654 Так например, моя первая запись в file1 является'45654 '. Соответствующее значение в Column3 из file2 это 34768. Так что я хотел, чтобы сохранить это значение в переменную X. |
|
||||
|
Вы можете сделать что-то вроде: Код:
while read item1
do
X=$(awk -v value1="$item1" '$1 == value1 { print $3 }' file2)
done < file1Это решение является приемлемым только в случае, если file1 содержит очень мало записей, так как файл file2 читается для каждой записи file1. После чтения значения переменной Х, то, что ты хочешь сделать? Если вы не хотите, чтобы обновить файл file2, наилучший способ состоит в использовании Shell_Life 'раствор (item1 \u003d $ 1 и X \u003d $ 2). |
| Рекламные ссылки | ||
|
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Экстракт колонки по имени | t27 | UNIX для чайников Вопросы И Ответы | 3 | 08-29-2007 02:04 PM |
| Выберите запись основана на первой колонке | mgirinath | Shell программирование и сценарии | 8 | 07-16-2007 02:38 AM |
| Получить строку из файла, основанный на стоимости в конкретных колонка | efernandes | UNIX для чайников Вопросы И Ответы | 1 | 01-27-2007 11:04 AM |
| Выберите отчеты основаны на критерии поиска по первой колонке | shashi_kiran_v | UNIX для чайников Вопросы И Ответы | 2 | 12-02-2005 01:49 PM |
| Фильтр основан на колонку стоимости | rraajjiibb | Shell программирование и сценарии | 2 | 05-25-2004 10:09 AM |