I m trying to create a multiple workfiles
Source csv file
**Filename,SchemaName,TableName
Shelf,category,books
Door,Category,wood**
Expected Output
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\`
I tried to create something like
sed 's/,/\\n/g' file | while read fileName; do touch "$fileName".wrk; done
but not sure how to populate the content by form row by row to seperate file
As user1934428 mentioned, there's no need to use sed at all, but awk.
awk '(NR!=1)' source.csv | awk -F, '{fName=$1".wrk";cat=$2;tbl=$3; print fName"\nFile content "fName"\nYour table is "cat"."tbl}'
First let's skip the first line with awk '(NR.=1)' source.csv
Then instruct awk to use comma as field separator with -F,
(as IFS=, would do) Assign each column value to a variable. For file name extension.wrk is appended: fName=$1".wrk"
. For the other two columns: cat=$2;tbl=$3;
Finally you only print the strings print fName"\nFile content "fName"\nYour table is "cat"."tbl
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.