我有以下以制表符作为字段分隔符的文件:
header1 header2 header3 header4 header5
1field1 1field2 1field3 1field4 1field5
2field1 2field2 2field3 2field4 2field5
3field1 3field2 3field3 3field4 3field5
4field1 4field2 4field3 4field4 4field5
并希望将每一行输出到一个新文件(跳过第一行)。每个新文件将以第 1 和第 5 个字段命名,并使用下划线分隔符。第 1 行(技术上是第 2 行)的文件将命名为“1field1_1field5.txt”,并包含该行的所有字段,依此类推。我有以下 awk 命令,可将正确的文件名输出到标准输出
awk -v FS='\t' -v OFS='_' 'NR>1 {print ($1,$5 ".txt") }'
但是当我尝试将文本输出到文件名中时
awk -v FS='\t' -v OFS='_' 'NR>1 {print > ($1,$5 ".txt") }'
我收到以下错误
awk: cmd. line:1: NR>1 { print > ($1,$5 ".txt") }
awk: cmd. line:1: ^ syntax error
我已经从 10 篇不同的文章中复制/粘贴了内容才到达这里,但我的格式不正确,无法解决。