2011-08-25 17 views
4

我想從list.files返回一個文件名,但有兩個類似的命名文件。 filename.csv filename_review.csv如何grep這不是?

我想把每個文件名放入自己的列表中。這樣做對於filename_review.csv來說很簡單,因爲它具有獨特的內容,但是如何篩選出其他呢?我需要grep(".csv", list.files())而沒有得到filename_review.csv返回。

+1

找到這個...... 'fileListBig [!(fileListBig%in%fileListSmall)]' 並且工作正常。 – James

+3

如果您發現解決了您的問題,請將其作爲答案發布,然後(2天后)接受。 – joran

回答

-2

找到了這個... fileListBig[!(fileListBig %in% fileListSmall)],這工作。

+0

問題和解決方案中沒有'fileListBig'和'fileListSmall'的定義。對於其他具有類似問題的人來說,解決方案會更有用,如果它是可重現的,就像@daroczig提供的解決方案一樣。 – jbaums

11

顯示在具有CSV擴展而不是在審查兩端可以做的工作目錄中的所有文件:

setdiff(list.files(pattern='.csv$'), list.files(pattern='review.csv$')) 
+1

+1用於說明設置操作。很有用。 –

3

另一個選擇是到grep你做什麼不希望,然後返回一切。

csvs <- list.files(patt='.csv$') 
csvs[!grepl('_', csvs)