我想知道是否可以在 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(使用 cat
、grep
或 wc
)中怎么说呢?这可能吗?
非常感谢您的回答!
最佳答案
您可以使用例如awk :
awk '$(NF)==2013' input.tsv
这将打印最后一个字段为 2013
的每一行。
如果只想统计电影,可以这样做:
awk '$(NF)==2013 { count+=1 }; END { print count }' input.tsv
如果你想使用grep :
grep '2013$' input.tsv | uniq -c
关于sql - 使用 bash 管道而不是 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20457795/