Мне нравится вывод из примера nicerobot, но я обнаружил одну проблему. У меня есть каталог, в котором есть дефис, A-E
, и он видел -E
как аргумент для printf
, когда это был мой текущий рабочий каталог. Чтобы исправить это, я добавил --
к последнему printf
и добавил кавычки вокруг вывода на случай, если выводить нечего:
p="${PWD#${HOME}}"; [ "${PWD}" != "${p}" ] && printf "~";IFS=/; for q in ${p:1}; do printf /${q:0:1}; done; printf -- "${q:1}"
Все еще надеюсь на лучший ответ, но я смог получить то, что мне нужно, с помощью следующего:
imported=`docker exec -it arango arangosh --javascript.execute scripts/getRecords.js $collection --server.password '' | cat -v | sed 's/\(\^\[\[1m\)//g;s/\(\^\[\[0m^M\)//g'`
Это просто передало подробный вывод из докера в подстановку sed
. Учитывая, что для этого сценария я ожидаю, что символы будут одинаковыми для всех коллекций, которые я предоставляю этому сценарию, это должно помочь (только очень ограниченному ).