【发布时间】:2020-02-23 14:59:36
【问题描述】:
我有一个文件,其第 11 行理论上应该有 1011 列,但它的每个字段之间似乎有超过 1 个选项卡。进一步来说, 如果我使用
awk '{print NF}' file
然后我可以看到第 11 行的字段数与其他所有行相同(前十行除外,它们的格式不同。这是意料之中的)。 但是如果我使用
awk 'BEGIN{FS="\t"} {print NF}' file
我可以看到第 11 行有 2001 个字段。基于此,我怀疑它的某些字段被多个空格分隔。 我想让每个字段只用 1 个选项卡分隔,所以我尝试了
awk 'BEGIN{OFS="\t"} {print}' file > file.modified
但是,这并不能解决问题
awk 'BEGIN{FS="\t"} {print NF}' file.modified
仍然表示第 11 行有 2001 个字段。 谁能指出实现我目标的方法?非常感谢!我已将文件的前 100 行放在以下 google drive 链接中。 https://drive.google.com/file/d/1qOjzjUnJKJpc4VpDxwKPBcqMS7MUuyKy/view?usp=sharing
【问题讨论】: