Попробуйте следующее:
join <(nl data.txt|sort -k1b,1) <(cat cntl.txt|sort -k1b,1) | sort -nk1,1 | cut -d' ' -f2-
nl - перечислит вам строки
1 red
2 blue
3 yellow
4 green
5 violet
6 orange
| sort -k1b, 1 - отсортирует их по номеру строки (первое поле), лексикографически
cat cntl.txt | sort -k1b, 1 - отсортирует управляющий файл в том же порядке
2
3
5
join <() <() - объединит отсортированные (и пронумерованные) «данные» с отсортированным «элементом управления» в первом поле (т.е. номер строки)
2 blue
3 yellow
5 violet
| sort -nk1,1 - пересортирует результаты численно (чтобы вернуть строки в порядок)
| cut -d '' -f2- - удалит поле номера строки
blue
yellow
violet
Это кажется глупым, но это случилось со мной только что :убедитесь, что вы находитесь в той же сети, что и устройство, к которому вы хотите подключиться. Я был на точке доступа Wi-Fi моего телефона вместо домашнего Wi-Fi.
Вы можете проверить это, например, с помощью ping
:ping 192.168.0.3
. Если вы не можете пропинговать машину, вы не сможете к ней подключиться. Вы либо в неправильной сети, либо машина не работает.