Se você executar find
do diretório raiz desejado e não especificar um ponto de partida absoluto nas opções de find
, ele exibirá os caminhos relativos às chamadas de comandos tar
que ele constrói. Assim:
cd $rootDir
find . -name '*doc' -exec tar rvf docs.tar {} \;
Se você não deseja alterar o diretório de trabalho atual permanentemente e está usando bash
ou similar ao seu shell, você poderia fazer
pushd $rootDir
find . -name '*doc' -exec tar rvf docs.tar {} \;
popd
em vez disso.
Observe que o pushd / popd não está presente em todos os shells, portanto, verifique a man page, conforme apropriado. Eles estão presentes no bash, mas não na implementação base sh, enquanto explicitamente usando /bin/bash
você pode confiar neles, você não pode se um script pedir /bin/sh
(como isso pode mapear para um shell menor que não tem melhorias do bash)