Как насчет
cat test.csv | sed 's / \ ", \" / | / g' | sed 's / \ "// g'
Предполагая, что данные в вашем файле такие же, как показано выше (я не принимаю во внимание угловые случаи). Но у меня все вышеперечисленное сработало.
Проверьте, чтобы переменная DISPLAY была правильно установлена на localhost:10.0. Если это не так,
export DISPLAY=localhost:10.0
то попробуйте xclock снова.
Но почему мне нужно, чтобы 'DISPLAY' был 10.0, а не 0.0?
Сервер X (или X Window, или X11) - это именно сервер, который ждет, пока приложения подключатся к нему, чтобы отобразить их. Это происходит на вашем компьютере, где приложения подключаются к X-серверу через сокет, расположенный в /tmp, обычно называемый /tmp/.X11-unix. Однако, как и все серверы, X11 может быть доступен с удаленных компьютеров и графически отображать приложения, запущенные на удаленных компьютерах.
Однако эта возможность несет в себе множество рисков безопасности, так что открыть ваш сервер X11 для удаленных приложений очень сложно (вам нужно указать одну и ту же опцию как минимум три раза, в разных конфигурационных файлах).
Теперь введите ssh, который вместо этого делает это безопасным: именно опция -Y/-X опции ssh безопасно обрабатывает (также шифруя трафик) все детали открытия вашего локального X11-сервера для удаленного приложения. Однако, когда вы хотите отобразить remote xclock локально, вы должны указать удаленному приложению, что X11-сервер, к которому нужно обратиться, не является его собственным X11-сервером, а находится на удаленном компьютере (том, с которого вы начали ssh сессию). Поэтому xclock должен отправить свой вывод не на локальный сокет в /tmp, а на сетевой порт (это 127.0.0. 1:6010, который ssh милосердно сокращает до localhost:10), с которого ssh позаботится об отправке его обратно на ваш локальный компьютер, где в конечном итоге вывод будет отображен графически.
Если вам не нравится, что различные ssh-соединения (у вас их может быть несколько) разделяются 10 единицами, как в localhost:10.0, localhost:20.0, ... ) вам следует изменить утверждение
X11DisplayOffset 10
в /etc/ssh/sshd_config на то, которое вам нравится (хотя я не вижу причин для этого, если честно).
Именно это утверждение заставляет удаленные дисплеи быть доступными не на порту 6000 (который был бы localhost:0.0), а на порту 6010. Вы можете проверить это сами:
$ ssh -Y vps
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Apr 17 02:47:42 2017 from
root@vps:~# ss -lntp | grep 6010
LISTEN 0 0 127.0.0.1:6010 *:* users:(("sshd",16172,8))
LISTEN 0 0 ::1:6010 :::* users:(("sshd",16172,7))