Tente usar a função system()
:
awk '{printf("%s ",$1); system("d2h " $2)}' file
No seu caso, system
chamará d2h 247808
e, em seguida, anexará a saída desse comando a printf
output:
Mike 3C800
EDITAR:
Como system
usa sh
em vez de bash
Não consigo encontrar uma maneira de acessar .bashrc
. Mas você ainda pode usar funções do seu script atual:
#!/bin/bash
d2h() {
# do some cool conversion here
echo "$1" # or just output the first parameter
}
export -f d2h
awk '{printf("%s ",$1); system("bash -c '\''d2h "$2"'\''")}' file
EDIT 2:
Eu não sei porque, mas isso não está funcionando no meu Ubuntu 16.04. Isso é estranho, porque costumava trabalhar no Ubuntu 14.04.