R语言- 目录权限和Size 检查

简介: 本文分享了两种根据提供的路径检查系统文件大小的实现方法(单循环、并行),以供参考学习

1、单线程loop

### 1、check Files
data.use[["Permision"]] <- unlist(lapply(data.use[["Path"]],function(x) R.utils::fileAccess(pathname = x, mode=4)))
data.use[["DIR_Size"]] <- unlist(lapply(data.use[["Path"]],function(x) strsplit(suppressWarnings(toString(system(paste('du -BG ',x,sep = " "), ignore.stderr = T ,intern = T))),"\t")[[1]][1]))
### 2、summary
cat("Total Size: ",sum(as.numeric(gsub("G","",data.use[["DIR_Size"]])),na.rm = T)/1024,"T","\n")
cat("Permission ERR: ",sum(abs(data.use[["Permision"]])),"\n")

2、多线程loop

library(future.apply);plan('multisession', workers = 20);options(future.globals.maxSize = 100 * 1024^3)
data.use <- readxl::read_xlsx(</your file/>) %>% mutate(Path = </rename column/>)
### 1、check Files
data.use[["Permision"]] <- unlist(future_lapply(data.use[["Path"]],function(x){R.utils::fileAccess(pathname = x, mode=4)}))
data.use[["DIR_Size(M)"]]  <- unlist(future_lapply(data.use[["Path"]],function(x){strsplit(suppressWarnings(toString(system(paste('du -BM ',x,sep = " "), ignore.stderr = T ,intern = T))),"\t")[[1]][1]}))
data.use[["DIR_Size(G)"]]  <- paste0(round(as.numeric(gsub("M","",data.use[["DIR_Size(M)"]]))/1024,2),"G")
data.use[["DIR_Size(T)"]]  <- paste0(round(as.numeric(gsub("M","",data.use[["DIR_Size(M)"]]))/(1024^2),2),"T")
### 2、summary
cat("Total Size: ",sum(as.numeric(gsub("G","",data.use[["DIR_Size(G)"]])),na.rm = T)/1024,"T","\n")
cat("Permission ERR: ",sum(abs(data.use[["Permision"]])),"\n")
### 3、...save output
data.use %>% write.table(</output file/>,sep = "\t",col.names = T,row.names = F,quote = F)
目录
相关文章
|
9月前
|
安全 Unix Linux
在Python中,如何处理文件和目录的访问权限?
【2月更文挑战第15天】【2月更文挑战第43篇】在Python中,如何处理文件和目录的访问权限?
320 0
|
Ubuntu Python
Python 记录在Ubuntu上的一次模块缺失的摸排检查工作
记录在Ubuntu上的一次模块缺失的摸排检查工作
80 0
|
8月前
|
机器学习/深度学习 监控 物联网
函数计算操作报错合集之调用接口提示Cannot copy out of meta tensor; no data! 是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
278 0
|
9月前
|
存储 Linux Shell
python移除/删除非空文件夹/目录的最有效方法是什么?
python移除/删除非空文件夹/目录的最有效方法是什么?
101 0
|
数据挖掘 Python
一日一技:在Python中创建临时文件用于记录临时数据
一日一技:在Python中创建临时文件用于记录临时数据
131 0
|
Go Python
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
467 0
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
|
Linux Go
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释

热门文章

最新文章