将输出重定向到可变定义的文件

时间:2014-01-10 22:50:11

标签: windows csv awk

我有一个awk脚本,它根据文件中另一个字段的内容解析需要写入另一个文件的字段的CSV部分。示例给出CSV:

  Col1,Col2,Col3

awk脚本将输出一个名为Col1.txt的文件,其中包含Col2和Col3的内容。在搜索中,似乎使用打印重定向应该有效。我试过了:

  printf("%s\t%s", Col2, Col3) > Col1

但是我收到错误消息“无法重定向到'Col1'(无效参数)

1 个答案:

答案 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)