我试图列出与目录中的文件相关的文本文件中的所有信息.我使用下面的语句来做到这一点:
file.info(list.files(path="C:\\temp\\dat\\work",pattern="\\.T$))
Run Code Online (Sandbox Code Playgroud)
我得到的输出是 -
size isdir mode mtime ctime atime exe
17517.T NA NA <NA> <NA> <NA> <NA> <NA>
17530.T NA NA <NA> <NA> <NA> <NA> <NA>
17565.T NA NA <NA> <NA> <NA> <NA> <NA>
Run Code Online (Sandbox Code Playgroud)
我想要的是以下列格式获取文本文件中的所有信息 -
Date modified Time modified size file name
10/08/2015 02:39 AM 122055 17517.T
10/08/2015 02:39 AM 122662 17530.T
10/01/2015 08:37 PM 76613 17565.T
Run Code Online (Sandbox Code Playgroud)
Spa*_*man 16
您需要告诉list.files返回完整路径.没有它我可以复制你的行为:
> file.info(list.files(path="/home/rowlings/bin",pattern=".sh$"))
size isdir mode mtime ctime atime uid gid uname grname
backupStatus.sh NA NA <NA> <NA> <NA> <NA> NA NA <NA> <NA>
checkFetchmail.sh NA NA <NA> <NA> <NA> <NA> NA NA <NA> <NA>
postgresBackup.sh NA NA <NA> <NA> <NA> <NA> NA NA <NA> <NA>
postgresBackup2.sh NA NA <NA> <NA> <NA> <NA> NA NA <NA> <NA>
roxbuild.sh NA NA <NA> <NA> <NA> <NA> NA NA <NA> <NA>
Run Code Online (Sandbox Code Playgroud)
会发生什么,list.files 只返回文件名,然后file.info查看工作目录,找不到文件,并返回NA到处.
随着full.names=TRUE然后list.files返回的完整路径,所以file.info 能找到的文件和汇报好吗:
> file.info(list.files(path="/home/rowlings/bin",pattern=".sh$", full.names=TRUE))
size isdir mode mtime
/home/rowlings/bin/backupStatus.sh 1333 FALSE 755 2013-06-03 14:24:47
/home/rowlings/bin/checkFetchmail.sh 427 FALSE 755 2009-01-17 22:18:40
/home/rowlings/bin/postgresBackup.sh 98 FALSE 755 2008-09-11 16:27:55
/home/rowlings/bin/postgresBackup2.sh 206 FALSE 755 2009-09-09 16:27:10
/home/rowlings/bin/roxbuild.sh 850 FALSE 755 2011-03-08 10:11:06
Run Code Online (Sandbox Code Playgroud)