如何使用R解析txt文件以验证元数据数据是否存在

如何使用R解析txt文件以验证元数据数据是否存在,r,R,有数千个文件。我需要读取这些文件,并确保某些字段(元数据)存在并具有值 这是文件的内容: good file: SERVER_GROUP=TESt SERVER_CUSTOM_PROPERTIES="SERVER_TIER=tier2 SERVER_PURPOSE=GENERAL SERVER_PROVIDER=AZURE SERVER_REGION=NA" TENANT=1234567 bad file: SERVER_CUSTOM_PROPERTIES="SERVER_TIER=ti

有数千个文件。我需要读取这些文件,并确保某些字段(元数据)存在并具有值

这是文件的内容:

good file:


SERVER_GROUP=TESt
SERVER_CUSTOM_PROPERTIES="SERVER_TIER=tier2 SERVER_PURPOSE=GENERAL SERVER_PROVIDER=AZURE SERVER_REGION=NA"
TENANT=1234567

bad file: 
SERVER_CUSTOM_PROPERTIES="SERVER_TIER=tier2 SERVER_PURPOSE=GENERAL SERVER_PROVIDER=AZURE SERVER_REGION=NA"
meda_data <-c("SERVER_GROUP", "SERVER_CUSTOM_PROPERTIES", "SERVER_TIER", "SERVER_PURPOSE", "SERVER_PROVIDER", "SERVER_REGION", "TENANT"

con <- file("C:\\test.txt", "r", blocking = FALSE)
dat<-readLines(con)

dput(dat)
c("SERVER_GROUP=TESt", "SERVER_CUSTOM_PROPERTIES=\"SERVER_TIER=tier2 SERVER_PURPOSE=GENERAL SERVER_PROVIDER=AZURE SERVER_REGION=NA\"", 
"TENANT=1234567")
好文件:
服务器组=测试
SERVER\u CUSTOM\u PROPERTIES=“SERVER\u TIER=tier2 SERVER\u PURPOSE=GENERAL SERVER\u PROVIDER=AZURE SERVER\u REGION=NA”
租户=1234567
坏文件:
SERVER\u CUSTOM\u PROPERTIES=“SERVER\u TIER=tier2 SERVER\u PURPOSE=GENERAL SERVER\u PROVIDER=AZURE SERVER\u REGION=NA”

meda_data我认为我们可以在每个
=
之前,对任何非空格、非
=
gregexpr
获取所有变量名


u有效吗?你所说的拥有所有元数据和值是什么意思?您可以使用dput数据详细说明这一点吗?这个档案好吗?如果是,为什么?可以使用基本函数
strsplit
(使用
sep=“=”
)拆分字段名及其值。然后使用
sep=“”
strsplit
再次计算
SERVER\u CUSTOM\u属性的值。令人恼火的是,
SERVER\u CUSTOM\u PROPERTIES
的值被引用了。您最好使用一个可以处理这种类型的envvar文件的包。根据我的经验,这种与服务器相关的数据通常以JSON或YAML格式提供,它们更容易解析,特别是对于嵌套字段,如
server\u CUSTOM\u PROPERTIES
@Onyambu,有一些字段,我称它们为medata,它们需要存在于所有文件中。在本例中,文件名为“text.txt”。@asac,此信息是自定义的,在json或jaml中不可用。简单的txt文件.user1471980,当然不急,但是你看过这个了吗?它与您的其他(真实)数据一起工作吗?