我尝试根据第一列拆分文件,并使用其中一个线程中的命令写入单独的txt文件,并显示以下错误:
awk '{print > $1".txt"}' TS129.txt
awk: syntax error at source line 1
context is
{print > >>> $1".txt" <<<
awk: illegal statement at source line 1
这看起来很简单,但它并没有引起我的注意。有人可以帮忙解决这个问题吗?
答案 0 :(得分:4)
尝试:
awk '{ print > ($1 ".txt") }' TS129.txt
更新:
awk '{
close(fn)
fn = $1 ".txt"
print >> fn
}' TS129.txt
如果您希望避免为每一行打电话:
awk '{
seen[$1]++ || count++
if (count >= limit) {
for (fname in seen)
close(fname ".txt")
c = ""
split("", seen)
}
print >> ($1 ".txt")
}' limit=<number_of_open_files> TS129.txt