84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
題外話: Linux 的時候看到last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l 這個,想著能不能用一次grep 就搞定,所以就想到了能不能用正規匹配某行不包含某個單字(如wtmp ),結果沒有想出來。
js/^(?!.*wtmp)/
/^(?!.*wtmp)/
匹配出不包含, 這個難度對於正則而言應該是比較大的, 因為這個條件可能在這個位置條件成立了, 在下個位置可能就不成立! 但是正則卻會把任何滿足pattern的字符串返回針對你題目的例子, 我建議用awk實現:
awk
last | awk '!=wtpm&&/[A-Za-z]/{num++}END{print num}'
awk能夠提供比較靈活的邏輯處理, 可讀性也比較強, 相對於單一正則, 所以在題目中的場景, 我覺得awk是比較好的選擇,但是如果是用其他語言實現, 可能就要參考別的語言的方式了
js
雷雷/^(?!.*wtmp)/
匹配出不包含, 這個難度對於正則而言應該是比較大的, 因為這個條件可能在這個位置條件成立了, 在下個位置可能就不成立! 但是正則卻會把任何滿足pattern的字符串返回
針對你題目的例子, 我建議用
awk
實現:awk
能夠提供比較靈活的邏輯處理, 可讀性也比較強, 相對於單一正則, 所以在題目中的場景, 我覺得awk是比較好的選擇,但是如果是用其他語言實現, 可能就要參考別的語言的方式了