sql - 使用 bash 管道而不是 select 语句

标签 sql linux bash shell

我想知道是否可以在 tab separated value(tsv) - file 上使用 bash 管道而不是 select 语句

我的 tsv 文件具有以下结构:

CREATE TABLE movies (title VARCHAR, full_name VARCHAR, type VARCHAR, ep_num VARCHAR, suspended BOOLEAN, year INT);

如果我想检索:

2013 年制作了多少部电影?

我会在 sql 中说:SELECT COUNT(*) FROM movies WHERE year='2013';

但是,在管道 bash(使用 catgrepwc)中怎么说呢?这可能吗?

非常感谢您的回答!

最佳答案

您可以使用例如 :

awk '$(NF)==2013' input.tsv

这将打印最后一个字段为 2013 的每一行。

如果只想统计电影,可以这样做:

awk '$(NF)==2013 { count+=1 }; END { print count }' input.tsv

如果你想使用 :

grep '2013$' input.tsv | uniq -c

关于sql - 使用 bash 管道而不是 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20457795/

相关文章:

bash - 删除名称为空(不可见)的文件有哪些好方法?

sql - 如何使用 sysdate 更新日期列,包括动态 sql 中的时间戳

mysql - 如何使用MySQL在更新语句中选择相同的表

sql - 带条件的子选择

linux - 如何查找文件并在其上执行程序

linux - 如何通过bash脚本中的API调用来获取AWS中新实例启动的信息?

c# - 尝试检查我的 MVC 模型的值在我的数据库中是否等于 NULL

linux - 从 Windows .bat 运行 Linux 命令

c - ld.so 中是否有任何宏或指针可以给我所有 plt 部分的地址范围?

linux - 如何在Linux中更改csv文件中的时间戳格式