awk - 除了使用 awk 过滤的行之外,还包括文件名
问题描述
我有下面的 awk 命令,它根据给定的条件选择多个文件中的行。为了确定所选行来自哪个文件,我想将文件名包含在打印的行中。
awk '{ if($4 > 60*$2 &&$2>10 && $8="genus" && $10 !="unclassified") { print }}' *.tsv > out.txt
解决方案
$ awk '$4>60*$2 && $2>10 && $8=="genus" && $10!="unclassified" {print FILENAME,$0}' *.tsv > out.txt
修复$8="genus"
了将值分配给$8
而不是对其进行调节。您的输出可能是错误的。
推荐阅读
- r - R - 对 tidyverse 数据框的列进行类型检查时出现意外行为
- python - Django Max DateTime 聚合
- java - 如何用自己的方式创建对象?
- amazon-web-services - 在 AWS Amplify 控制台上部署为 SPA 后,Nuxtjs 动态路由在页面重新加载时不起作用
- mysql - 使用包含时,Sequilize 查询仅返回一行
- python - 如何通过restful api循环查询列表?
- java - 如何在 java 文本文件中找到最大和最小的数字?
- swift - 如何快速为神经网络中的神经元编写 sigmoid 函数?
- python - 复杂的正则表达式模式
- javascript - 我的 useEffect 正在到达调用堆栈,并且在文本更改后,我不知道为什么?