tar cf test/foo/test.tar -- `find test -maxdepth 1 -name '*.txt' -type f`
Я думаю, что следует делать то, что вы хотите.
Опция, которая не будет работать из-за возраста вашей команды tar:
find test -maxdepth 1 -type f -name '*.txt' -print0 | tar -cf test/foo/test.tar --null --files-from -
У вас проблемы, поэтому вы можете попробовать следующие команды:
tar cf test/foo/test.tar `find test -maxdepth 1 -name '*.txt' -type f`
echo tar cf test/foo/test.tar `find test -maxdepth 1 -name '*.txt' -type f`
tar c f test/foo/test.tar `find test -maxdepth 1 -name '*.txt' -type f`
find test -maxdepth 1 -name '*.txt' -type f
и вставить вывод, чтобы мы могли видеть, что происходит.
Учитывая, что поиск также очень унаследован, давайте попробуемследующее:
tar cf test/foo/test.tar test/*.txt