Зарегистрируйтесь в своем VM, при помощи чего IP-адрес ifconfig
. Если нет такого адреса затем, возможно, образование моста не работает. Так проверяют, получил ли сервер DHCP запрос на MAC-адрес сначала. Если не Windows 8 блокирует доступ, и/или Мост правильно не работает.
Если Ваш сервер DHCP выделяет IP для MAC-адреса, но ifconfig
не имеет никакого значения затем существует что-то не так в CentOS, не хранящем IP, розданный сервером DHCP.
Если Вы имеете IP-адрес в VM, но не можете достигнуть его снаружи, то Вы проблема с брандмауэром Windows 8, не позволяющим достижение VM.
Вот решение awk
:
% awk -F, '
{
for(i = 1; i < NF; i++) {
for(j = i+1; j <= NF; j++) {
if(length(a[$i,$j]) == 0) {
if(length(a[$j,$i]) > 0) {
next;
}
a[$i,$j]=$i" "$j;
print a[$i,$j];
}
}
}
}' file
Sarah Masha
Sarah Helen
Masha Helen
Connor Jessica
Connor Jennifer
Connor Candace
Jessica Jennifer
Jessica Candace
Jennifer Candace
Betty Sarah
Betty Helen
John Harold
John Frank
John Daisy
Harold Frank
Harold Daisy
Frank Daisy
Я предполагаю, что имена могут появляться в любом порядке и что Helen Sarah
, следовательно, следует рассматривать как копию Sarah Helen
. Если да, то это должно делать то, что вы хотите. Он очень похож на ответ Gnouc, но может обрабатывать дубликаты, которые появляются в другом порядке.
Я использовал немного другой входной файл, чем ваш, чтобы я мог проверить больше случаев:
Sarah,Masha,Helen
Betty,Sarah,Helen
John,Harold,Frank,Daisy
Masha,Sarah,Helen,Gerorge
Helen,Sarah,Masha
Вот gawk как однострочник и его вывод:
$ awk -F, '{for(i=1;i<NF;i++){for(j=i+1;j<=NF;j++){if($i > $j){k[$i][$j]}else{k[$j][$i]}}}}END{for(n in k){for (l in k[n]){print n,l}}}' names.txt
John Daisy
John Frank
John Harold
Sarah Masha
Sarah Betty
Sarah Helen
Frank Daisy
Masha Helen
Harold Daisy
Harold Frank
Helen Betty
И вот то же самое:
{
## For all fields from first to penultimate
for(i=1;i<NF;i++){
## For all fields from second to last
for(j=i+1;j<=NF;j++){
## This is to avoid duplicates, $i and $j are names
## by comparing (sorting) them, I make sure that they
## will be stored in the array consistently so I will
## count 'Dick Harry' as a duplicate of 'Harry Dick'
if($i > $j){
k[$i][$j]
}
else{
k[$j][$i]
}
}
}
}
END{
## Go through the array k tath holds the name pairs
for(n1 in k){
## It is a 2 dimensional array so n1 is the first name
## and n2 will be the second
for (n2 in k[n1]){
print n1,n2
}
}
}
Другой awk
awk -F, '
{
for(i=1; i<=NF; i++)
for(j=i+1; j<=NF; j++)
if(!(A[$i,$j]++*A[$j,$i]++))
print $i,$j
}
' file