Linux

可以用 awk 代替嗎?

  • November 10, 2015

我想從中獲取數字rating作為輸出

# nc localhost 9571 
language:
language:en_ZA.UTF-8
language:en_ZW.UTF-8
session-with-name:Ubuntu Classic (No effects):gnome-session --session=2d-gnome
session-with-name:Ubuntu (Safe Mode):gnome-session -f --session=2d-gnome
session-with-name:Ubuntu Classic:gnome-session --session=classic-gnome
xsession:/etc/X11/Xsession
rating:94

我可以這樣做

# nc localhost 9571 | grep rating | cut -d: -f2
94

但可以awk用於更簡單的解決方案?

$ nc localhost 9571 | awk -F: '/rating/ { print $2 }'

Quanta 打敗了我,但sed如果你願意,我會包括一個變體:

nc localhost 9571 | sed -ne 's/^rating://p'

不過,MadHatter 說的也一樣。您目前的解決方案非常合理。(雖然我會 grep"^rating:"而不僅僅是這個詞來確保你只得到你想要的那一行。)

引用自:https://serverfault.com/questions/317877