我想使用文件夹名称重命名文件。
这:
├── foo01
│ └── bar.png
│ └── bar.txt
├── foo02
│ └── bar.png
│ └── bar.txt
└── foo03
└── bar.png
└── bar.txt
应该是这样的:
├── foo01
│ └── foo01.png
│ └── foo01.txt
├── foo02
│ └── foo02.png
│ └── foo02.txt
└── foo03
└── foo03.png
└── foo03.txt
我找不到办法做到这一点。有人可以帮忙吗?
答案 0 :(得分:1)
使用 Perl 的独立重命名命令:
library(data.table)
file_list <- list.files("c:/temp/files/",full.names = TRUE)
import_files <- lapply(file_list,read.csv,stringsAsFactors =FALSE)
rbinded_files <- na.omit(rbindlist(import_files,idcol="file"))
dcast(rbinded_files,file1 ~file,fun=max, na.rm=TRUE)
file1 1 2 3 4 5 6
1 adam adam adam adam adam adam adam
2 Roy Roy <NA> Roy Roy <NA> <NA>
3 Sam <NA> Sam Sam <NA> <NA> <NA>
输出:
foo01/bar.png renamed as foo01/foo01.png foo01/bar.txt renamed as foo01/foo01.txt foo02/bar.png renamed as foo02/foo02.png foo02/bar.txt renamed as foo02/foo02.txt foo03/bar.png renamed as foo03/foo03.png foo03/bar.txt renamed as foo03/foo03.txt
如果一切正常,请删除选项rename -n 's|([^/]*)/[^/]*\.(.*)$|$1/$1.$2|' */*
。