Вы можете сэкономить полосу пропускания, скачав debian CD ~ 630 M
, торрент доступен с здесь : (debian-8. 6.0-amd64-CD-1.iso.torrent
)
Нужно ли скачивать все?
На этот же вопрос есть ответ в часто задаваемых вопросах: Какой из многочисленных образов нужно скачать? Нужно ли мне их все?
Нет. Во-первых, конечно, вам нужно скачивать только образы CD или DVD или BD - эти три типа образов содержат одинаковые пакеты.
В большинстве случаев нет необходимости скачивать все образы для вашей архитектуры. Пакеты отсортированы по популярности: Первый CD/DVD/BD содержит систему установки и наиболее популярные пакеты. Второй содержит чуть менее популярные, третий - еще менее популярные и т.д. Скорее всего, вам понадобится только первая пара DVD (или первые несколько CD), если у вас нет особых требований. (А если впоследствии вам понадобится пакет, которого нет ни на одном из загруженных CD/DVD/BD, вы всегда сможете установить его прямо из Интернета)
С помощью awk
, что-то вроде этого:
awk -F\; 'NR == FNR {A[$0]=1; next}; A[$2] == 1;' emails.txt john*.txt
NR == FNR
проверяет, совпадает ли номер записи (строки), подсчитанный по всем файлам, с номером записи в текущем файле, что является забавным способом проверки, является ли этот файл первым. Если это так, мы берем прочитанную строку ($0
) и используем ее как ключ к ассоциативному массиву A
, устанавливая значение в единицу и переходя к следующей
строке ввода. Если это был не первый файл (переход не был сделан), возьмите второе поле ($2
) в строке, разделенное точкой с запятой (задается -F
) и посмотрите, равно ли соответствующее значение в массиве A
единице. Если да, то по умолчанию будет выведена вся строка. Можно добавить, скажем, {print $1}
, чтобы вывести только первое поле.
С grep
вы можете просто сделать
grep -F -f emails.txt john*.txt
(-F
для фиксированных строковых шаблонов, -f
для чтения шаблонов из файла).
Но при этом будут выводиться и частичные совпадения, а также совпадения из других полей в файле, но это может не быть проблемой для имен, номеров телефонов и адресов электронной почты.
Хотя это можно обойти, добавив точку с запятой в начало и конец каждой строки, используемой в качестве шаблона. Это должно работать, если поддерживается подстановка процессов:
grep -F -f <(sed -e 's/^/;/' -e 's/$/;/' emails.txt) john*.txt