【发布时间】:2020-08-02 07:41:54
【问题描述】:
我正在努力将 mkdir 添加到 awk 行中。
输入.txt:
A1 B1
A2 B2
A3 B3
目标:将每一行打印到一个新文件中。每个新文件都应具有相同的名称,例如'文件.txt'。每个新文件都应打印到其自己的新文件夹中。文件夹名称应取自输入文件中相应行的第一个字段。生成的文件夹结构:
home
|__input.txt
|
|__A1
| |__file.txt
|
|__A2
| |__file.txt
|
|__A3
| |__file.txt
我的 awk 使用输入的文件名创建文件:
$ awk '{F = $1".txt"} {print > F}' input.txt
我的 awk 使用输入的文件夹名称创建文件夹:
$ awk '{print "mkdir "$1}' input.txt | sh
但是如何组合这些并使用输入的文件夹名称创建文件夹但保持相同的文件名'file.txt'?
【问题讨论】:
-
嗯,不确定您的意思?每个“file.txt”文件的内容(括号中)是不同的。但是树中的每个文件都称为'file.txt'
-
哦,好吧,您应该清楚括号内的位是文件内容,而不是文件名的一部分。在
home内还有一个file.txt。这也应该被创建吗? -
Soz.你会如何展示它?
-
我会为
./A1/file.txt显示一个cat输出,为./A2/file.txt显示另一个输出,然后说“等等”。
标签: unix awk printing terminal mkdir