如何按一列过滤行?

如何按一列过滤行?

抱歉,如果这是一个基本问题,我不经常使用 Linux,但我有一个 13GB 的文件,我想过滤掉。

我有 123 列,我想删除.第 75 列中只有 a 的行。

我一直在研究如何做到这一点,目前我已经:

awk '$75 !~/./ {print $0}' oldfile.txt > newfile.txt

我的做法正确吗?当我运行它时,它输出一个空文件。

答案1

尝试

awk '$75 != "." ' oldfile.txt > newfile.txt

这将匹配第 75 列的精确点。

你做了什么

awk '$75 !~/./ {print $0}'

将尝试匹配第 75 列以查找与任何字符不同的内容(正则表达式匹配 by .

更确切地说

awk '$75 ~ /./ ' 

将匹配第 75 列至少有一个字符的任何行(如果超过 75 列,则为所有行)

相关内容