Por exemplo, quero encontrar todos os links simbólicos que fazem referência a um binário específico em todos os diretórios que pertencem ao sistema $ PATH. Isto pode ser alcançado com sucesso com a especificação manual de todos os diretórios:
sudo find ~/bin /home/samokat/.local/bin /home/samokat/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /snap/bin -lname /opt/openoffice4/program/soffice
Mas quando estou tentando usar o comando com a expansão $PATH:
sudo find `echo $PATH | tr ':' ' '` -lname /opt/openoffice4/program/soffice
Recebo erro e resultado:
find: ‘~/bin’: No such file or directory
/usr/bin/soffice.link-to-openoffice-bak
echo $PATH | tr ':' ' '
gera o caminho correto:
~/bin /home/samokat/.local/bin /home/samokat/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /snap/bin
Os seguintes também não estão funcionando:
sudo find `echo $PATH | tr ':' ' ' | xargs` -lname /opt/openoffice4/program/soffice
sudo find { `echo $PATH | tr ':' ' ' | xargs` } -lname /opt/openoffice4/program/soffice
sudo find eval "echo $PATH | tr ':' ' ' | xargs" -lname /opt/openoffice4/program/soffice
echo $PATH | tr ':' ' ' | xargs | sudo find -lname /opt/openoffice4/program/soffice # runs some long computation
Como passar starting point
diretórios como parâmetro calculável para find
? Isso é possível?