2016-07-05 6 views
0

sink()を使用してmyスクリプトの出力を.txtファイルに書き出しましたが、何らかの理由でプロンプトがtxtファイルに書き込まれました。私は数日前にそれを修正するための質問をしましたが、ここでは別の角度からアプローチしています。ここに私のスクリプトによって生成されてしまったtxtファイルです:txtファイルを開き、特定のそれらを除去する方法があった場合、私が去ったい行が>で始まるものなのでテキストファイルから特定の行を削除するR

> geno(hdr) 
DataFrame with 12 rows and 3 columns 
      Number  Type       Description 
     <character> <character>       <character> 
GT    1  String       Genotype 
GQ    1  Integer     Genotype Quality 
DP    1  Integer       Read Depth 
HDP    2  Integer    Haplotype Read Depth 
HQ    2  Integer     Haplotype Quality 
...   ...   ...         ... 
mRNA    .  String      Overlaping mRNA 
rmsk    .  String     Overlaping Repeats 
segDup   .  String Overlaping segmentation duplication 
rCov    1  Float     relative Coverage 
cPd    1  String    called Ploidy(level) 

> sink() 

は、私が考えていましたライン。この場合、> geno(hdr)> sink()という行は削除されます。私はRの正規表現が良くないので、どのように動作するのかわかりません。どんな助けもありがたい。ありがとう。

+0

多分 'capture.outputを()'の代わりに働くだろうか? – cory

+0

私はcapture.output()も試みました。運がない。私は本当に問題が何であるかわからないので、私はそれを理解しようと頭を叩くのではなく、この道を行くことにした理由 –

+0

あなたの以前の[質問](http://stackoverflow.com/questions/38132675/)でコメントしたようにプロンプトを表示せずに標準入力から標準出力へのredirect-stdout-to-a-txt)、私のために 'sink()'を使用するときにプロンプ​​トが表示されません。あなたのCPU環境は何ですか:Rのバージョン/ OS/RのスタジオまたはRScriptまたはRCmdのコードの実行? – Parfait

答えて

0

これを試すことができます。行毎にファイルを読み込み、行が始まる場合でない場合は、>に確認し、新しいファイルに追加します?

con <- file('test.txt', open = 'r') 
while(TRUE) { 
    line <- readLines(con, n = 1) 
    if(length(line) == 0) break 
    else if(!startsWith(line, ">")){ 
     write(line, file = "newTest.txt", append = TRUE) 
    } 
} 
+1

はい!完璧に動作します。 –

関連する問題