2014-06-21 46 views
0

我跑了生產約500個文件被命名文件1至file500出現在目錄

然而分析查找文件,兩者之間的某個文件丟失(如file233和file245以及其他)。我想進一步處理它們在R循環中,但然後我需要篩選出不存在的文件。

是否有一種簡單的方法可以將文件中的數字存儲在R中的矢量中,然後我可以將它用於循環?

v<-containing all numbers after file which are present in the directory 

應該提到的是,文件沒有結束的.txt,但只是名字fileXX其中XX是多少

+3

另一種方法可能是使用'list.files(pattern =「.txt」)'來獲取目錄中的所有.txt文件。 –

+0

也可以考慮在文件名中附加零,例如'file001.txt','file002.txt'等。這使得對名稱排序更容易。看看'sprintf('%03d',1:10)'來實現這一點。 –

回答

2

,最好的辦法是簡單地創建一個實際上是文件列表出現在目錄中,像@beginneR說:

list_of_files = list.files('/path/to/dir') 

do_some_processing = function(list_element) { 
    # Perform some processing and return something 
} 
lapply(list_of_files, do_some_processing) 

如果您需要在文件名中的數字,一個簡單的正則表達式會做:

> grep('[0-9]', sprintf('file%d', 1:100)) 
    [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 
[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 
[55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 
[73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 
[91] 91 92 93 94 95 96 97 98 99 100 
+0

問題是我真的只需要解析出fileXX.txt(其中數字是XX)之後的所有文件中的數字。文件沒有結尾.txt這只是一個例子,他們只是名字fileXX – user3419669

+1

比簡單地排除'pattern'部分以獲取所有存在的文件,或使用不同的'pattern'例如'文件*'。 –

+0

但我如何解析出數字? list.files只會給我一個文件列表? file1,file2 ... file300,但我需要grep數字(1,2..300) – user3419669

相關問題