我們都知道總有多種方法可以解決問題。我想知道在一個案例中每個特定解決方案的優點和缺點是什麼。時間和空間方面(也許乾淨 - 但這是主觀的,所以不是主要焦點)。Awk vs Awk + cut vs bash
你有一個文件,也包含線,包括字符串xyz
,但不完全。您對行中的整數值應滿足條件的行感興趣。
我曾經這將是從sslscan輸出過濾弱密碼的例子。這不是特定的時間,也不是太空密集的,所以這個例子只是爲了更清楚地瞭解它的外觀。
問題來了,當我試圖尋找一個解決方案,我發現計算器各種不同的答案,然後還提出了自己的東西。
可能的解決方法1(純AWK):
awk '$0~/xyz/ && $3 < 128 {$1=""; print}' file-with-data.txt
可能的解決方法2(AWK +的餾分):
awk '$0~/xyz/ && $3 < 128' file-with-data.txt | cut -c15-
可能的解決方法3(bash)的:
grep xyz file-with-data.txt | while read -r line
do if [ $(echo $line | cut -d" " -f3) -le 127 ]
then echo $line
fi
done
只是測量它。 –
好吧,有一個清潔的問題, - 最好呆在bash中,一旦你使用awk,最好呆在awk中 - 沒有什麼值得在那裏測量的。 也可能有使用某種方式或其他有趣的方式的經驗。這裏也不是真正可以衡量的。 – user857990