我希望比较由斜杠分隔的列中的 2 个数值

问题描述 投票:0回答:1

如果我从另一个命令或文件得到如下输出

uniquename1: count 2/3
uniquename2: count 3/3
uniquename3: count 1/1
uniquename4: count 3/1
uniquename5: count 0/0
uniquename6: count 1/1
uniquename7: count 1/3
uniquename8: count 2/2

我如何比较每行上 / 周围的数字。

如果它们匹配,则返回结果“$uniquenameworking”

如果数字不匹配,则返回结果“$uniquename warning”

如果第一个数字是 0,则返回结果为“$uniquenamebroken”

uniquename1: warning
uniquename2: working
uniquename3: working
uniquename4: warning
uniquename5: broken
uniquename6: working
uniquename7: broken
uniquename8: working

我的知识有限,当前的尝试是替换 / 然后比较第 3 列和第 4 列,然后打印之前出现的名称: 但它又乱又糟糕

awk sed
1个回答
0
投票

这似乎有效:

% sed -e '/ count \(.*\)\/\1$/!s%count .*%warning%;s%count \(.*\)/\1$%working%' file.txt

第一部分表示如果“count”和“/”之间的内容与“/”后面的内容不匹配,则在警告中添加。第二部分,在“;”之后如果它们匹配,则在“工作”中说 sub。

© www.soinside.com 2019 - 2024. All rights reserved.