Если сервер, на который вы ssh
входите, имеет графический интерфейс, запускающий вас, откажитесь от использования -X
переключитесь на ssh
и установите переменную $ DISPLAY
на сервере перед запуском приложения wine
следующим образом:
$ DISPLAY=:0.0 wine Artemis.exe
Если, с другой стороны, вы хотите чтобы увидеть графический интерфейс через ssh
, вы можете попробовать изменить сжатие, используемое для ускорения работы через туннель SSH.
$ ssh -c arcfour,blowfish-cbc -X wine Artemis.exe
Использование этих шифров должно значительно ускорить ваше соединение.
Я бы использовалawk
:
awk 'NR==FNR{a[$0]++;next}a[$1]' file1 file2
где ваши идентификаторы находятся в файле1, а остальные — в файле2. Выход:
1 96 283 4
3 57 294 0
3 24 284 0
8 19 239 78
8 18 289 90
Если вы можете гомогенизировать первое поле в каждом файле (, например, добавив начальный «0» ), вы можете использовать объединение (1):
f1:
01
03
08
f2:
01 96 283 4
02 87 918 6
02 49 208 5
03 57 294 0
03 24 284 0
04 28 345 290
05 23 234 209
06 98 245 02
07 18 329 89
08 19 239 78
08 18 289 90
09 28 390 09
09 19 238 09
10 23 899 7
Тогда:
$ join f f2
01 96 283 4
03 57 294 0
03 24 284 0
08 19 239 78
08 18 289 90
Если файлы разделены пробелом -и имеют окончание строки в стиле Unix -:
cat file1.txt | xargs -I '{}' -n 1 grep '^{} ' file2.txt
с помощью Миллера можно было сделать так
mlr --implicit-csv-header --headerless-csv-output --ifs " " --csv join -j 1 -r 1 -f joinInputOne.csv joinInputTwo.csv
получить
1,96,283,4
3,57,294,0
3,24,284,0
8,19,239,78
8,18,289,90
файл joinInputOne.csv
1
3
8
и
файл joinInputTwo.csv
1 96 283 4
2 87 918 6
2 49 208 5
3 57 294 0
3 24 284 0
4 28 345 290
5 23 234 209
6 98 245 02
7 18 329 89
8 19 239 78
8 18 289 90
9 28 390 09
9 19 238 09
10 23 899 7