我有一个awk脚本,它根据文件中另一个字段的内容解析需要写入另一个文件的字段的CSV部分。示例给出CSV:
Col1,Col2,Col3
awk脚本将输出一个名为Col1.txt的文件,其中包含Col2和Col3的内容。在搜索中,似乎使用打印重定向应该有效。我试过了:
printf("%s\t%s", Col2, Col3) > Col1
但是我收到错误消息“无法重定向到'Col1'(无效参数)
答案 0 :(得分:3)
您可以尝试使用> "Col1.txt"
如果Col1
是包含文件名基本名称的awk
变量,则可以
printf ("%s\t%s", Col2, Col3) > (Col1 ".txt")
或者您可能想要解析CSV文件,如:
awk -F, '{printf("%s\t%s", $2, $3) > "Col1.txt"}' file.csv
并且您可能还想在每行之后添加换行符。作为printf("%s\t%s\n", $2, $3)