0

在 shell 中,制作一个目录:

mkdir  /home/test

然后,在“/home/test”中创建一个名为“.test”的文件

a=list.files(path = "/home/test",include.dirs = FALSE)
a
character(0)
a=list.files(path = "/home/test",include.dirs = TRUE)
a
character(0)
a=list.files(path = "/home/test/",include.dirs = TRUE)
a
character(0)
list.files(path = '/home/test', all.files=TRUE,inclued.dirs=FALSE)
[1] "."     ".."    ".test"
a=list.files(path = '/home/test', all.files=TRUE)
length(a)
[1] 3

我怎样才能得到length(a)= 1 使用正则表达式参数pattern=list.files修剪...

4

1 回答 1

0

用于all.files=TRUE显示所有文件名,包括隐藏文件。

list.files(path = '/home/test', all.files=TRUE)

要回答您的编辑,一种方法是使用负数tail

tail(list.files(path = '/home/test', all.files=TRUE), -2)

仅使用pattern参数:

list.files(path='/home/test', all.files=TRUE, pattern="^[^\\.]|\\.[^\\.]")

pattern说“任何以点以外的东西开头的东西,或以点开头的任何东西,然后是点以外的东西。”


尽管它打破了您使用 的pattern参数的要求,但在这种情况下list.files,我实际上可能会grep绕过。list.statements

grep("^\\.*\\.$", list.files(path='/home/test', all.files=TRUE), 
     invert=TRUE, value=TRUE)

上面将找到任何只包含点的文件名,然后返回其他所有内容。 invert=TRUE意思是“找到不匹配的名字”,value=TRUE意思是“返回名字而不是他们的位置”。

于 2012-10-03T22:25:46.810 回答