Shell 基于特定值筛选字段
祝大家新年快乐 我有一个类似这样的文件(示例):没有头,这个文件大约有10000行这样的行Shell 基于特定值筛选字段,shell,unix,Shell,Unix,祝大家新年快乐 我有一个类似这样的文件(示例):没有头,这个文件大约有10000行这样的行 123 345 676 58 1 464 222 0 0 1 555 22 888 555 1 777 333 676 0 1 555 444 0 58 1 问题:我只希望字段3和字段4都有非零值的行,即在上面的示例中,应包括行1和行3,其余的应排除。我该怎么做 输出应如下所示: 123 345 676 58 1 555 22 888 555 1 谢谢。awk非常适合这种材料: awk
123 345 676 58 1
464 222 0 0 1
555 22 888 555 1
777 333 676 0 1
555 444 0 58 1
问题:我只希望字段3和字段4都有非零值的行,即在上面的示例中,应包括行1和行3,其余的应排除。我该怎么做
输出应如下所示:
123 345 676 58 1
555 22 888 555 1
谢谢。
awk
非常适合这种材料:
awk '$3 && $4' input.txt
这将为您提供所需的输出
$3&&4
是一个过滤器$3
是第三个字段的值,$4
是第四个字段的值。0值将被评估为false
,其他任何值将被评估为true
。如果可能存在负值,则需要更精确地写入:
awk '$3 > 0 && $4 > 0' input.txt
甚至不需要
{print}
<代码>3美元和4美元谢谢你,亚诺斯。。它很有魅力,我很欣赏详细的解释。