我想采取一个标准输出流并过滤它只保存大于100的值,而不使用awk
。我有一堆其他unix命令一起管理,这导致了各种数字的标准输出流。我想将大于99的任何数字传入文件。我像这样的事情:如何通过数字约束来过滤UNIX标准输出?
several commands | unix-tool 100 > stdout_that_is_>99
看起来这应该是微不足道的,而且我失去了一些东西。谢谢!
我想采取一个标准输出流并过滤它只保存大于100的值,而不使用awk
。我有一堆其他unix命令一起管理,这导致了各种数字的标准输出流。我想将大于99的任何数字传入文件。我像这样的事情:如何通过数字约束来过滤UNIX标准输出?
several commands | unix-tool 100 > stdout_that_is_>99
看起来这应该是微不足道的,而且我失去了一些东西。谢谢!
你可以只使用grep与正则表达式匹配任何3+位数字,如:
command | grep '[1-9][0-9]\{2\}' >"stdout_that_is_>99"
这将是很容易适应的大小任意才能工作。
智能过滤答案的解决方案,我喜欢它的灵活性 – jake9115
gefilt() {
while read num; do
if (($num+0 >= $1)); then
echo $num
fi
done
}
several commands | gefilt 100
它是> 99或> 100,> 100是棘手... – Graeme
这是> 99,但最好我想,通过任何给定的约束 – jake9115