相关疑难解决方法(0)

是否存在用于从stdin读取的fread模拟?

我想fread在(R)脚本中使用,它将通过linux管道机制获取输入数据.以下是否有fread模拟?

read.csv(file = 'stdin', ...)
Run Code Online (Sandbox Code Playgroud)

我还会选择stdin其他方式阅读,然后使用fread它来解析它,因为我主要想要它fread的高级分隔符和标题逻辑.

linux r pipe data.table

9
推荐指数
1
解决办法
1191
查看次数

有些程序不接受输入文件的进程替换吗?

我正在尝试将进程替换用于程序的输入文件,但它无法正常工作.是因为某些程序不允许输入文件的进程替换吗?

以下不起作用:

bash -c "cat meaningless_name"
    >sequence1
    gattacagattacagattacagattacagattacagattacagattacagattaca
    >sequence2
    gattacagattacagattacagattacagattacagattacagattacagattaca
bash -c "clustalw -align -infile=<(cat meaningless_name) -outfile=output_alignment.aln -newtree=output_tree.dnd"
    (Less verbose output, finishing with:
    No sequences in file. No alignment!
Run Code Online (Sandbox Code Playgroud)

但以下控件确实有效:

bash -c "clustalw -align -infile=meaningless_name -outfile=output_alignment.aln -newtree=output_tree.dnd"
    (Verbose output, finishing with:
    CLUSTAL-Alignment file created  [output_alignment.aln]
bash -c "cat <(cat meaningless_name) > meaningless_name2"
diff meaningless_name meaningless_name2
    (No output: the two files are the same)
bash -c "clustalw -align -infile=meaningless_name2 -outfile=output_alignment.aln -newtree=output_tree.dnd"
    (Verbose output, finishing with:
    CLUSTAL-Alignment file created  [output_alignment.aln]
Run Code Online (Sandbox Code Playgroud)

这表明进程替换本身有效,但clustalw程序本身不喜欢进程替换 - …

unix bash ipc process-substitution

5
推荐指数
2
解决办法
650
查看次数

标签 统计

bash ×1

data.table ×1

ipc ×1

linux ×1

pipe ×1

process-substitution ×1

r ×1

unix ×1