Windows 将倍频程/matlab输出写入剪贴板

Windows 将倍频程/matlab输出写入剪贴板,windows,matlab,clipboard,octave,Windows,Matlab,Clipboard,Octave,我正在寻找一种方法,将八度语句输出到windows剪贴板 我没有寻找一种方法,只是从cmd窗口手动复制/粘贴文本(我知道这将如何工作)。我也不希望获得完整的八度音会话的全部输出,这可以通过使用脚本启动八度音来执行,并将所有输出传送到某个clip.exe来获得。 我想从某个语句中捕获输出,该语句将从octave promt或某个函数或脚本中执行 如果有人能提供一些建议,那就太好了 编辑: 从一篇评论中,我了解到matlab的剪贴板命令,不幸的是它还没有在八度音阶中实现。 可能还有任何其他涉及花式s

我正在寻找一种方法,将八度语句输出到windows剪贴板

我没有寻找一种方法,只是从cmd窗口手动复制/粘贴文本(我知道这将如何工作)。我也不希望获得完整的八度音会话的全部输出,这可以通过使用脚本启动八度音来执行,并将所有输出传送到某个clip.exe来获得。
我想从某个语句中捕获输出,该语句将从octave promt或某个函数或脚本中执行

如果有人能提供一些建议,那就太好了

编辑:
从一篇评论中,我了解到matlab的剪贴板命令,不幸的是它还没有在八度音阶中实现。

可能还有任何其他涉及花式
system()
调用的想法?

您可以通过
system
命令调用类似
xclip
的东西。有关xclip用法的示例,请参阅

下面的Matlab命令用于将多行内容放入Mac上的剪贴板。大概你会用
xclip
来代替
pbcopy
,这样它就可以在linux上工作了

>> system(['echo "line1' 10 'line2' 10 'line3" | pbcopy'])

您可以通过
system
命令调用类似
xclip
的东西。有关xclip用法的示例,请参阅

下面的Matlab命令用于将多行内容放入Mac上的剪贴板。大概你会用
xclip
来代替
pbcopy
,这样它就可以在linux上工作了

>> system(['echo "line1' 10 'line2' 10 'line3" | pbcopy'])
很显然,实现与Matlab非常相似的东西并不太难——在几分钟的摆弄之后,看看我新的
clipboard.m

function clipboard(data)
if ~ischar(data)
    data = mat2str(data);
end
data = regexprep(data, '\\','\\\\');
data = regexprep(data, '%','%%');
f = tempname;
h = fopen(f, 'w');
fprintf(h, data);
fclose(h);
system(['clip.exe < ' f]);
delete(f);
end
函数剪贴板(数据)
if~ischar(数据)
数据=mat2str(数据);
结束
data=regexprep(数据“\\”、“\\\”);
数据=regexprep(数据“%”、“%”);
f=临时名称;
h=fopen(f,'w');
fprintf(h,数据);
fclose(h);
系统(['clip.exe<'f]);
删除(f);
结束
很显然,实现与Matlab非常相似的东西并不太困难-在几分钟的摆弄之后,看看我新的
剪贴板。m

function clipboard(data)
if ~ischar(data)
    data = mat2str(data);
end
data = regexprep(data, '\\','\\\\');
data = regexprep(data, '%','%%');
f = tempname;
h = fopen(f, 'w');
fprintf(h, data);
fclose(h);
system(['clip.exe < ' f]);
delete(f);
end
函数剪贴板(数据)
if~ischar(数据)
数据=mat2str(数据);
结束
data=regexprep(数据“\\”、“\\\”);
数据=regexprep(数据“%”、“%”);
f=临时名称;
h=fopen(f,'w');
fprintf(h,数据);
fclose(h);
系统(['clip.exe<'f]);
删除(f);
结束

没有比这更简单的了:
剪贴板
在octavethanks中不可用。至少我现在知道了理论上的方法。不幸的是,丹尼尔是对的。我想知道为什么我的谷歌搜索没有使用剪贴板命令。它不会比这个简单得多:
clipboard
在octavethanks中不可用。至少我现在知道了理论上的方法。不幸的是,丹尼尔是对的。我想知道为什么剪贴板命令没有出现在我的谷歌搜索中。是的,但是如何使用它呢<代码>系统(“echo 234.4234 | clip.exe”)当然可以正常工作,但必须是多行字符串。在windows和倍频程
系统上(['echo“line1'10'line2'10'line3”| pbcopy'])
仅输出
“line1
每一新行都被解释为自己的命令,因此您的语句将拆分为命令
echo”行
line2
line3 | pbcopy
编辑:我错了,似乎只计算第一行。其他行似乎被完全忽略了是的,但是如何使用它呢<代码>系统(“echo 234.4234 | clip.exe”)当然可以正常工作,但必须是多行字符串。在windows和倍频程
系统上(['echo“line1'10'line2'10'line3”| pbcopy'])
仅输出
“line1
每一新行都被解释为自己的命令,因此您的语句将拆分为命令
echo”行
line2
line3 | pbcopy
编辑:我错了,似乎只计算第一行。其他几行似乎完全被忽略了两条评论:1。对于linux,安装xclip并使用此
system()
调用:
system(['cat'f'| xclip-selection clipboard')2。您可能希望使用
num2str()
而不是
mat2str()
来去掉周围的方括号(stack overflow reviewers认为将代码分开比较合适,我想直接将它们作为注释添加到上面的@Notlikethat代码段中;对于这一点很抱歉,另外因为注释不允许良好的格式:/)两条注释:1.对于linux,安装xclip并使用此
system()
call:
system(['cat'f'| xclip-selection clipboard']);
2.您可能希望使用
num2str()
而不是
mat2str()
来摆脱周围的方括号(stack overflow reviewers认为将代码分开比较合适,我想直接将它们作为注释添加到上面@Notlikethat的代码段中;对于这一点很抱歉,另外,因为注释不允许良好的格式:/)