Как проверить, пуст ли файл?

У меня есть тысячи текстовых файлов и хотелось бы знать, как проверить, не является ли конкретный файл пустым. Я читаю все файлы, используя эту строку кода

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

Мне нужен список имен всех пустых файлов. Необходимо сделать это в R.

Спасибо.

Ответ 1

Вы можете использовать file.info для этого:

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

Кстати, theres лучший способ листинга текстовых файлов, чем использование grep: указать аргумент pattern на list.files:

list.files(pattern = '\\.txt$')

Обратите внимание, что шаблон должен быть регулярным выражением, а не glob - то же самое верно для grep!

Ответ 2

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}'