Если вы запускаете find
из нужного корневого каталога и не указываете абсолютную начальную точку в find
параметрах, он выведет относительные пути к tar
вызовам команд, которые он создает. Вот так:
cd $rootDir find . -name '*doc' -exec tar rvf docs.tar {} \;
Если вы не хотите постоянно менять текущий рабочий каталог и используете bash
или похожи в качестве оболочки, вы можете это сделать.
pushd $rootDir find . -name '*doc' -exec tar rvf docs.tar {} \; popd
вместо.
Обратите внимание, что pushd / popd присутствуют не во всех оболочках, поэтому проверьте соответствующую страницу руководства. Они присутствуют в bash, но не в базовой реализации sh, поэтому при явном использовании /bin/bash
вы можете на них положиться, но не можете, если об этом попросит скрипт /bin/sh
(так как это может отображаться в меньшую оболочку, не имеющую улучшений bash)