Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: convolutions



On 11/06/2015 06:49 PM, ZyX wrote:

      echo "$(eval echo "\${$(cat in_file)}")" >! out_file

That's the best I've been able to do expanding color variables, eg. "
${red} " into their native " \e[31;1m " in a file. It's not a prize
winner as far as zsh obfuscation goes, still, can it be done more
simply? Also, I'd not be surprised to learn that there's one of those
ancient little utilities that already does that:


“Ancient utility” is called `sed`. Specifically you are able to substitute text with the result of the evaluation of the shell code:

     echo '${red}red' | sed -r 's/\$\{(\w+)\}/zsh -c ''echo ${(%%):-%F{\1}}''/e'


Well sure, but that's even more opaque than what I'm doing. I'm a grade three sedder but the whole point was to see if I could get zsh to handle this internally.




Messages sorted by: Reverse Date, Date, Thread, Author