在具有相同名称的子目录中创建文件

时间:2018-09-28 17:42:57

标签: python linux perl awk

读取包含2列A和B数据的列表,逐行迭代,我使用以下逻辑创建了一系列负债。 读取第一行,数据A和B,创建文件夹A和子文件夹B(mkdir -p A / B),依此类推。 好吧,现在,我需要在正确的子文件夹B内创建一个对应的文件B.txt(即)。

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

col1  col2
  a     b
  c     d

我用下一行创建了foler结构:

    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

有没有我?

谢谢

1 个答案:

答案 0 :(得分:0)

最好直接在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