Как проверить, пуст ли файл?
У меня есть тысячи текстовых файлов и хотелось бы знать, как проверить, не является ли конкретный файл пустым. Я читаю все файлы, используя эту строку кода
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}'