抱歉,如果这是一个基本问题,我不经常使用 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 列,则为所有行)