Aqui estão alguns oneliners .....
Awk
ifconfig eth0 | awk '/inet addr/{split(,a,":"); print a[2]}'
A função split no comando awk acima divide a segunda coluna com base no delimitador : e armazena o valor dividido em uma matriz associativa a . Então a[2] contém o valor da segunda parte.
sed
ifconfig eth0 | sed -n '/inet addr/s/.*inet addr: *\([^[:space:]]\+\).*//p'
No sed básico, \(...\) denomina grupo de captura que é usado para capturar os caracteres. Poderíamos referenciar esses caracteres capturados por meio de back-referencing. \([^[:space:]]\+\) captura qualquer caractere, mas não o espaço uma ou mais vezes.
grep
ifconfig eth0 | grep -oP 'inet addr:\K\S+'
\K descarta que os caracteres correspondidos anteriormente sejam impressos no final e \S+ corresponde a um ou mais caracteres não espaciais.
Perl
ifconfig eth0 | perl -lane 'print if /inet addr:(\S+)/'
Um ou mais caracteres não espaciais que estão ao lado da string inet addr: são capturados e, finalmente, imprimimos apenas esses caracteres capturados.