我想採取一個標準輸出流並過濾它只保存大於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