我有一个巨大的 .txt 文件,更准确地说是 300GB,我想将第一列中所有与我的模式匹配的不同字符串放入不同的 .txt 文件中。
awk '{print $1}' file_name | grep -o '/ns/.*' | awk '!seen[$0]++' > test1.txt
这是我尝试过的,据我所知它工作正常,但问题是一段时间后我收到以下错误:
awk: program limit exceeded: maximum number of fields size=32767
FILENAME="file_name" FNR=117897124 NR=117897124
有什么建议么?
最佳答案
错误消息告诉您:
line(117897124) has to many fields (>32767).
你最好检查一下:
sed -n '117897124{p;q}' file_name
使用
cut
提取第一列:cut -d ' ' -f 1 < file_name | ...
注意 :您可以将
' '
更改为任何字段分隔符。默认值为 $'\t'
。