Мне нужен вывод команды ниже, т.е. "* master\n remotes/origin/HEAD -> origin/master\n remotes/origin/master\n"
для вывода для чтения.
iex(26)> System.cmd "git", ["-C", "/home/vonhabsi/workpad/Cuis/.git","branch","-a"]
{"* master\n remotes/origin/HEAD -> origin/master\n remotes/origin/master\n",
0}
то есть в форме
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Этот System.cmd
документ добавляет into: IO.stream(:stdio, :line)
к команде
iex(27)> System.cmd "git", ["-C", "/home/vonhabsi/workpad/Cuis/.git","branch","-a"], into: IO.stream(:stdio, :line)
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
{%IO.Stream{device: :standard_io, line_or_bytes: :line, raw: false}, 0}
iex(28)>
Какая функция мне нужна, чтобы взять "* master\n remotes/origin/HEAD -> origin/master\n remotes/origin/master\n"
из кортежа и вывести его как:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Дополнительный вывод {%IO.Stream{device: :standard_io, line_or_bytes: :line, raw: false}, 0}
нежелателен. Короче говоря, как взять кусок необработанного текста с \n
новыми строками и вывести его так, как он должен быть напечатан.
Как вы также сохраняете его в файл?
{s, _} = System.cmd(...)
иIO.puts(s)
? - person Dogbert   schedule 22.04.2017