Разрешить копирование/вставку на чистом Linux внутри VMware

Как я интерпретирую ваш желаемый вывод, вы хотите, чтобы строки в Файле2 повторялись столько раз, сколько появляется первое поле в Файле1. Греп этого делать не будет. Вместо этого попробуйте:

$ awk 'FNR==NR{a[FNR]=$1;next} {for (k in a) if (a[k]==$1) print}' File1 File2
M01605:153:000000000-B55NK:1:1101:10003:14536 2:N:0:1 GTTTGCGCCGATGTA
M01605:153:000000000-B55NK:1:1101:10007:14573 2:N:0:1 GGGGATAAGCGTTGC
M01605:153:000000000-B55NK:1:1101:10007:14573 2:N:0:1 GGGGATAAGCGTTGC
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10010:14111 2:N:0:1 CTGCGTACTGATAGC
M01605:153:000000000-B55NK:1:1101:10010:19939 2:N:0:1 TCCGTGGTGCCGGCA
M01605:153:000000000-B55NK:1:1101:10011:22802 1:N:0:1 TGAGTTCGGATAAAG
M01605:153:000000000-B55NK:1:1101:10011:22802 1:N:0:1 TGAGTTCGGATAAAG

Как это работает

  • FNR==NR{a[FNR]=$1;next}

    При чтении первого файла File1 сохраните первое поле $1в массиве aпод ключом номера строки FNR.

  • for (k in a) if (a[k]==$1) print

    При чтении второго файла просматривайте каждый элемент массива aи выводите строку каждый раз, когда обнаруживается совпадение между первым полем File2 и значением массива a.

Более эффективная альтернатива

$ awk 'FNR==NR{a[$1]++;next} {for (i=1;i<=a[$1];i++) print}' File1 File2
M01605:153:000000000-B55NK:1:1101:10003:14536 2:N:0:1 GTTTGCGCCGATGTA
M01605:153:000000000-B55NK:1:1101:10007:14573 2:N:0:1 GGGGATAAGCGTTGC
M01605:153:000000000-B55NK:1:1101:10007:14573 2:N:0:1 GGGGATAAGCGTTGC
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10009:9160 2:N:0:1 CAGAAGAGGTAATGT
M01605:153:000000000-B55NK:1:1101:10010:14111 2:N:0:1 CTGCGTACTGATAGC
M01605:153:000000000-B55NK:1:1101:10010:19939 2:N:0:1 TCCGTGGTGCCGGCA
M01605:153:000000000-B55NK:1:1101:10011:22802 1:N:0:1 TGAGTTCGGATAAAG
M01605:153:000000000-B55NK:1:1101:10011:22802 1:N:0:1 TGAGTTCGGATAAAG
0
27.12.2019, 00:15
2 ответа

Совершенно случайно я наткнулся на этот пост . И после выполненияvmware-user-suid-wrapperhost -guest copy&paste заработало! Итак, вроде бы все ок, но эта функция не включается автоматически. Действительно странно, не так ли?

1
28.01.2020, 02:59

Если вы используете дистрибутив, связанный с Debian -,установка Gnome, вероятно, привела к библиотекам, от которых зависит пакет open-vm-tools-desktop... и, поскольку open-vm-toolsпредполагает open-vm-tools-desktop, он, вероятно, был установлен вместе с Gnome, как только его зависимости были удовлетворены.

Вы могли бы сказать менеджеру пакетов установить толькоopen-vm-tools-desktop(плюс его зависимости, конечно ), чтобы получить действительно минимальный набор пакетов вместо всего gnomeметапакета.

open-vm-tools-desktopсодержит подключаемый модуль libdndcp.soopen-vm-tools, и этот подключаемый модуль -обрабатывает гостевые операции копирования/вставки хоста -.

0
28.01.2020, 02:59

Теги

Похожие вопросы