有没有一个技巧可以通过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/Mintosh\HD/…,但可以从/Users开始。这只是一个例子。(
问题是import-dir
被设计为接受多个目录作为输入。参数解析器需要一种方法来区分这个用例和"转义空间"用例,记住Windows路径可以以结尾。
支持这两种情况的最佳方法可能是添加一个--single-input
选项,该选项将其参数作为单个字符串。
我还发现,电子表格样式的import-file
命令几乎总是比使用目录更可取。
作为解决方案,您可以:
(1( 编写一些代码来读取目录内容,并生成一个用于的示例文件
bin/mallet输入文件
以下是用于导入的mallet快速启动页面,其中描述了输入文件版本:http://mallet.cs.umass.edu/import.php
(2( 在一个没有任何空格的位置生成指向文件夹的符号链接