如何检查文件是否为空?

时间:2014-04-23 19:56:00

标签: r

我有数千个文本文件,想知道如何检查特定文件是否为空。我正在使用这行代码阅读所有文件

Y<-grep("*.txt", list.files(), value = TRUE)

我想要一份所有空白文件的名称列表。必须在R中完成。

感谢。

4 个答案:

答案 0 :(得分:24)

您可以使用file.info

info = file.info(filenames)
empty = rownames(info[info$size == 0, ])

顺便提一下,列出文本文件的方法比使用grep更好:指定pattern的{​​{1}}参数:

list.files

请注意,模式必须是正则表达式,而不是glob - 对list.files(pattern = '\\.txt$') 也是如此!

答案 1 :(得分:1)

find . -empty 

find . -empty |awk -F\/ '{print $FN}'

如果您只想限制txt文件:

find . -empty -name "*.txt"

如果你只想要asci文件(不仅仅是.txt)

find . -empty -type f

把它们放在一起:

find . -empty -type f -name "*.txt" |awk -F\/ '{print $NF}'

答案 2 :(得分:0)

在上传之前,使用以下代码检查系统中的文件是否为空。

my_file<-readLines(paste0("<path of file/file name.extension>"))
my_file=="" #TRUE - means the file is empty

答案 3 :(得分:0)

对于功能方法,您可能首先要写一个谓词:

file.empty <- function(filenames) file.info(filenames)$size == 0

然后使用它过滤文件列表:

Filter(file.empty, dir())