【问题标题】:Create files in subdirectories with the same name [closed]在具有相同名称的子目录中创建文件[关闭]
【发布时间】:2019-03-04 17:57:29
【问题描述】:

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

例如,你用一个文件和下一个内容做了一些证明。

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?

谢谢

【问题讨论】:

  • 到目前为止你创建了什么代码?你遇到了什么问题?
  • 您好 mdem7,谢谢您的回答。我的代码使用 awk 读取 txt 文件,并创建文件夹。 awk'NR>1{system("mkdir -p "$1"/"2)}' my_file.txt.但是我发现创建将名为 B 子文件夹的特定文件移动到该文件夹​​时存在一些问题。
  • 嗨零,欢迎来到 StackOverflow。当您发布时,您应该分享您编写的代码的最小示例,以及您希望从代码中获得的输入和输出,以及您实际获得的输出。请参阅发布here 的指南。
  • 非常感谢您的评论 d_kennetz

标签: python linux perl awk


【解决方案1】:

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

【讨论】:

  • 非常感谢您对 Karafca 的帮助
猜你喜欢
  • 2016-01-05
  • 2016-03-31
  • 2012-06-25
  • 2019-03-15
  • 2023-03-03
  • 2010-09-10
  • 2022-10-17
  • 2017-01-06
  • 1970-01-01
相关资源
最近更新 更多