如果我从另一个命令或文件得到如下输出
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 列,然后打印之前出现的名称: 但它又乱又糟糕
这似乎有效:
% sed -e '/ count \(.*\)\/\1$/!s%count .*%warning%;s%count \(.*\)/\1$%working%' file.txt
第一部分表示如果“count”和“/”之间的内容与“/”后面的内容不匹配,则在警告中添加。第二部分,在“;”之后如果它们匹配,则在“工作”中说 sub。