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)
}