linux - 如何选择大型文本文件中包含特定文本字符串的所有行

标签 linux excel bash awk

我有一个多列文本文件(23 列,约 450,000 行),我想从中仅提取第 9 列中包含单词“plant”的那些行(例如)。理想情况下,我想创建一个仅包含“植物”数据的子文件,以便我可以使用 Excel 对其进行操作(原始文件不会完全加载到 Excel 上)。我过去曾使用 awk 来完成一些表解析工作,但我无法完成这项工作。我使用以下 awk 命令失败:

$ awk '$9="plant"' file_in.txt > file_out.txt

我将非常感谢您的帮助。

最佳答案

I would like to extracts only those rows that contain the word "plant" in column 9

如果这是要求,我想你会这样做:

awk '$9~/plant/' file_in.txt > file_out.txt

如果你想获取 col9 等于“plant”的行:

awk '$9=="plant"' file_in.txt > file_out.txt

顺便说一句,我不知道是否还有另一个问题@SO 标记有 linuxawkExcel !!有趣..

关于linux - 如何选择大型文本文件中包含特定文本字符串的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24142557/

相关文章:

java - AH01030 : ajp_ilink_receive() can't receive header

sql - 阿DODB : if in sql clause

r - 是否可以使用 readr 中的 write_csv() 写入标准输出?

regex - 如何根据正则表达式递归查找当前文件夹和子文件夹中的所有文件

php - 如何从 shell 脚本中更改 PHP ini 设置?

php - Imagick PHP 扩展无法输出 JPEG XR 图像

linux - 我需要同时使用 nohup 和 & 吗

excel - 如何在 Excel 中创建动态 VBA 代码,使其始终引用名称更改的工作簿?

javascript - 使用 XML 将带有 < 的 HTML 表导出到 Excel

linux - Linux BASH 被发现后尝试启动文件