使用 Bash 脚本创建多个工作文件

Creating Multiple Workfile using Bash Script

我正在尝试创建多个工作文件

源 csv 文件

**Filename,SchemaName,TableName 
Shelf,category,books 
Door,Category,wood**

预期输出

each Filename from column 1

Shelfy.wrk

\`File content  Shelf.wrk

Your table is category.books\`

Door.wrk

\`File content  Door.wrk

Your table is category.wood\`

我尝试创建类似

的东西
sed 's/,/\n/g' file | while read fileName; do touch "$fileName".wrk; done

但不确定如何按表格逐行填充内容以分隔文件

正如user1934428提到的,根本不需要使用sed,而是awk。

awk '(NR!=1)' source.csv | awk -F, '{fName=".wrk";cat=;tbl=; print fName"\nFile content "fName"\nYour table is "cat"."tbl}'

首先让我们跳过 awk '(NR!=1)' source.csv 的第一行 然后指示 awk 使用 -F, 作为字段分隔符(如 IFS= 那样) 将每个列值分配给一个变量。对于文件扩展名 .wrk,附加:fName=".wrk"。对于其他两列:cat=;tbl=;

最后你只打印字符串 print fName"\nFile content "fName"\nYour table is "cat"."tbl