首页 > 解决方案 > 在子目录中创建同名文件

问题描述

读取 2 列中包含 A 和 B 数据的列表,逐行迭代,我创建了一系列具有以下逻辑的目录。读取第一行数据 A 和 B,创建文件夹 A 和子文件夹 B ( mkdir -p A/B ) 等等。好吧,现在,我需要在适当的子文件夹 B 中创建一个相应的文件 B.txt ( ie )。

例如,y 用带有下一个内容的单个文件进行了一些证明。

col1  col2
  a     b
  c     d

我用下一行创建了文件夹结构:

    awk 'NR>1{system("mkdir -p "$1"/"$2)} my_file.txt 

结果是:

$ tree
a
 |_b
c
 |_d

现在我想调用该目录路径,例如移动或创建一个名为 b.txt 的文件到同名目录,这样就可以对整个树进行操作,但我还不能这样做

我的预期结果。

$ tree
a
 |_b
   |_b.txt
c
 |_d
   |_d.txt

有没有idia?

谢谢

标签: pythonlinuxperlawk

解决方案


也许直接做更好,bash因为没有什么需要awk

$ while read -r a b; 
  do mkdir -p "$a/$b"; touch "$a/$b/$b.txt"; 
  done < <(sed 1d file)


$ tree
.
├── a
│   └── b
│       └── b.txt
├── c
│   └── d
│       └── d.txt
└── file

4 directories, 3 files

推荐阅读