在Octave中,我如何用选项调用ls?

时间:2015-03-29 22:23:57

标签: octave ls

我试图获取一个文件列表,以便在我的Octave程序中进行迭代。我现在打电话给

x = ls

并且工作正常。 但是,我想要一个只有文本文件的列表。我可以打电话

ls *.txt

但我无法致电

x = ls *.txt

有没有办法做到这一点?我找到的解决方法是

x = eval("ls *.txt")

但我希望避免这种情况。

2 个答案:

答案 0 :(得分:2)

您应该阅读手册:http://www.gnu.org/software/octave/doc/interpreter/Calling-Functions.html#Calling-Functions

x = ls ("*.txt")

如果调用不带()的函数,则所有参数都被解释为字符串,但只有在您不想存储结果时才有效。所以

foo bar baz

相当于

foo ("bar", "baz")

答案 1 :(得分:2)

Andy's answer之上,它解释了为什么你错误地调用了ls,你在调用ls时也是错误的。此函数返回一个char数组,其中包含文件列表,除了在Octave提示符下显示之外的任何内容,这些文件几乎无用。

相反,请考虑使用glob

files = glob ("*.txt")

将返回文件名的单元格数组。