我想在句子中匹配一行的一部分: 「超級ID = 42或其他東西。」使用命令行工具匹配行的一部分的好方法是什麼?
我要回數42
回聲「超級ID = 42或某事」 | grep -o'id = [0-9] +'| sed's/id = //'
會返回正確的答案,但有沒有更好的解決方法,例如只使用一種工具?
我想在句子中匹配一行的一部分: 「超級ID = 42或其他東西。」使用命令行工具匹配行的一部分的好方法是什麼?
我要回數42
回聲「超級ID = 42或某事」 | grep -o'id = [0-9] +'| sed's/id = //'
會返回正確的答案,但有沒有更好的解決方法,例如只使用一種工具?
對於快速而簡單的事情來說,這非常好。你可以在perl
的一個命令/聲明中完成所有操作,但grep
+ sed
就像這樣可以工作得很好。
這是一個更大的工具鏈/應用程序的一部分,還是隻是爲了您自己的臨時需求?
的 - 或者更確切地說,A-perl的版本將是
echo "The super id=42 or something" | perl -ne '/id=(\d+)/ and print "$1\n"'
這真的只是一個劇本,但我已經遇到了這種情況好幾次了,我想知道是否有工具,可以做到以下幾點:/ id =([0-9] +/\ 1 /沒有太多額外的代碼。 – Enfenion 2010-06-07 21:52:08