linux - 如何在 Linux shell 中执行 'where' 子句?

标签 linux bash shell

我有一个 CSV 文件,我想过滤掉第 19 列有两个或更多字符的所有行。我知道各个部分,但不知道如何将它们粘合在一起。首先,我必须 cat 文件。下面打印第19列

awk -F "," '{print $19}' file.txt 

awk 也有 length 和 ifs

而且我知道这一切都必须使用管道粘合在一起。由于我之前没有做过太多 bash 编程,所以我只是被确切的语法所困。

最佳答案

AWK 程序是一系列模式 Action 对,写为:

condition { action }

condition 部分是您的过滤器。

例如,获取所有行(第19列至少有2个字符):

$ awk -F, 'length($19)>1' file.txt

当缺少{action}部分时,默认 Action 是打印记录。

关于linux - 如何在 Linux shell 中执行 'where' 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850278/

相关文章:

linux - 新的 bash 命令有命名约定吗?

linux - 在 bash 中使用带有命令的变量

regex - 为什么空格会导致sed中记住的模式输出不同的东西

linux - ftrace:通过 echo 从 function_graph 更改 current_tracer 时系统崩溃

c - 线程 worker 和 epoll

将windows生成的二进制数据文件转换成linux

bash coproc 和剩余的 coproc 输出

c - nanosleep 不适用于小于一秒的值

linux - 无法让 cv2 工作 - 即使是最基本的代码

linux - Tee 命令基本行为