![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Нахождение имен в нескольких файлах | Rally_Point | UNIX для чайников Вопросы И Ответы | 3 | 02-23-2009 08:36 PM |
| Поиски пропавших секвенциальной имена файлов | Julolidine | Shell программирование и сценарии | 2 | 07-03-2008 12:52 AM |
| Поиск файлов с именами, которые имеют реальное количество больше difined. | harmonwood | Shell программирование и сценарии | 2 | 11-09-2007 10:28 AM |
| найти дубликаты файлов по размеру и найти соответствие шаблону и его кол | Джером Сукумар | Shell программирование и сценарии | 2 | 12-01-2006 04:20 AM |
| Как найти буквы в имени файла без поиска слов в начале предложения | kev269 | Shell программирование и сценарии | 1 | 04-10-2006 10:35 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Нахождение имен в разных файлах - вторая попытка
Я не мог найти оригинальные цепочки, что я создал, и поскольку я не получил окончательного ответа, я понял я попробовать снова. Может быть, на этот раз я могу описать то, что я хочу немного лучше.
У меня два файла, каждый из тысячи имен всех разделенных новой строки. Я хочу знать, если ваше имя в file1 "также появляется в любом месте в файле 2, то вывести ее на меня (хотя мероприятие не проблема). Я подумал, что, возможно, есть способ пройти через первый файл, и с каждой строке затем пешком через каждую строку во втором файле (нечто вроде вложенные петли заявление), а затем оттуда. Я просто интересно, если это будет работать, если есть и более простой способ. Спасибо |
|
||||
|
Используйте ассоциативные массивы в AWK. Это находит имена, которые встречаются в обоих файлов. В случае чувствительных и чувствительных к дополнительным пространством - другими словами, точное соответствие Код:
awl '{ if(FILENAME=="file1") (arr[$0]++}
if(FILENAME=="file2") {if($0 in arr) {print $0)} }
}' file1 file2
Вложенные петли как вы описали занять слишком много времени. Это примерно как godd как она получает. |
|
||||
|
Цитата:
Нечто вроде: Код:
while read name;do grep "$name" file2;done < file1 А можно сделать что-то вроде: Код:
while read name;do echo $name:;grep "$name" file2;done < file1 Или некоторые другие действия, основанные на возвращение стоимости grep? Код:
while read name;do ;grep -q "$name" file2 && echo $name found in file2;done < file1 И это поможет, если Вы могли бы показать источник файла, если это не сработает. Have You рассмотрел сортировка файлов и с помощью дифф? С уважением / Lakris |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|