是否有一个技巧可以通过mac上的终端在Mallet中使用带空格的文件路径?
例如,以下所有内容都会给我错误:
逃离空间
./bin/mallet import-dir --input /Volumes/Macintosh\ HD/Users/MY_NAME/Desktop/en --output /Users/MY_NAME/Desktop/en.mallet --remove-stopwords TRUE --keep-sequence TRUE
双引号,没有逃脱
./bin/mallet import-dir --input "/Volumes/Macintosh HD/Users/MY_NAME/Desktop/en" --output /Users/MY_NAME/Desktop/en.mallet --remove-stopwords TRUE --keep-sequence TRUE
和双引号
./bin/mallet import-dir --input "/Volumes/Macintosh\ HD/Users/MY_NAME/Desktop/en" --output /Users/MY_NAME/Desktop/en.mallet --remove-stopwords TRUE --keep-sequence TRUE
最后用单引号
./bin/mallet import-dir --input '/Volumes/Macintosh\ HD/Users/MY_NAME/Desktop/en' --output /Users/MY_NAME/Desktop/en.mallet --remove-stopwords TRUE --keep-sequence TRUE
他们都希望将文件夹视为多个文件夹,在空格上分开:
Labels =
/Volumes/Macintosh\
HD/Users/MY_NAME/Desktop/en
Exception in thread "main" java.lang.IllegalArgumentException: /Volumes/Macintosh\ is not a directory.
at cc.mallet.pipe.iterator.FileIterator.<init>(FileIterator.java:108)
at cc.mallet.pipe.iterator.FileIterator.<init>(FileIterator.java:145)
at cc.mallet.classify.tui.Text2Vectors.main(Text2Vectors.java:322)
除了将所有带空格的文件重命名为下划线之外,还有吗? (我知道我不需要输入/ Volumes / Macintosh \ HD / ...但是可以从/ Users开始。这只是一个例子。)
答案 0 :(得分:3)
问题是import-dir
旨在将多个目录作为输入。参数解析器需要一种方法来区分此用例和“转义空间”用例,请记住,Windows路径可以以\
结尾。
支持这两种情况的最佳方法可能是添加--single-input
选项,将其参数作为单个字符串。
我还发现电子表格式import-file
命令几乎总是优于使用目录。
答案 1 :(得分:1)
作为一项工作,你可以:
(1)编写一些代码来读取目录内容并生成一个用于以下内容的示例文件:
bin / mallet input-file
此处是用于导入的槌快速启动页面,其中描述了输入文件版本:http://mallet.cs.umass.edu/import.php
(2)在一个没有任何空格的位置生成一个指向文件夹的符号链接