假设我有一个文本文件text.txt
,其中包含几行使用单个空格(而不是制表符)缩进的文本,例如:
My folder1/
My folder2/
My folder3/
file1.md
My folder4/
例如,实际的目录模板可能如下所示:
Proposal/
rules/
proposal/
document.tex
figs/
tabs/
ref/
log/
src/
master.r
crdat/
andat/
temp/
data/
raw/
clean/
Admin/
budget/
contract/
invoices/
receipts/
team/
hiring/
vitae/
gantt/
forms/
misc/
Study/
document.tex
figs/
tabs/
ref/
log/
src/
master.r
crdat/
andat/
temp/
data/
raw/
clean/
Dissemination/
presentations/
conference1/
submission.md
slides.tex
notes.md
admin/
registration/
travel/
receipts/
program/
forms/
conference2/
manuscripts/
journal1/
submission/
letter_v1.tex
manuscript_v1.pdf
replication_v1.zip
comments/
reviewer1.txt
R&R/
letter_v2.tex
manuscript_v2.tex
diff.tex
replication_v2.zip
journal2/
master_notes.md
TODOs.md
README.md
本质上,该文件是目录结构的模板。该模板可由用户设置。她可以为不同的项目使用不同的模板,并且名称是通用的。唯一的限制是层次结构是使用空格建立的,并且文件夹以正斜杠结尾。
我想编写一个函数,它将任何这样的目录模板作为输入,并在您当前的工作目录中创建一个目录结构。伪代码如下:
lines <- readLines(text.txt)
last.indent <- 0
for (i in lines) {
Create directory structure by looking at leading character and last characters (folders end in /)
using dir.create(i) or file.create(i)
}