A melhor solução para isso é usar awk
:
$ ldd /usr/bin/ppdhtml | awk '/ => / { print $1 }' | head -n1
libcupsppdc.so.1
Para fazer isso usando grep
, você precisará usar os recursos lookahead
e lookbehind
do PCRE:
$ ldd /usr/bin/ppdhtml | grep -Po '(?<=\t).+(?= => )' | head -n1
libcupsppdc.so.1
Os recursos lookahead e lookbehind afetam essa correspondência, mas não são incluídos na partida. Observe também que isso não funcionaria se ldd
usasse um número variável de espaços em vez de guias no início da linha. Lookbehinds não pode ter um tamanho variável.