Назад | Перейти на главную страницу

подстановка zsh, нельзя выполнять регулярное выражение с повторением

Я пытаюсь выполнить замену переменной ZSH, но мне приходится делать это неубедительно, пропуская cut. Возможно ли полностью выполнить эту операцию в ZSH?

i=./riak.logs.cloudstoragea08/2014-08-07T15:47:49.540310/console.log.2014-07-31-05 echo ${${i/\.\//}:s/\/*//} riak.logs.cloudstoragea08/2014-08-07T15:47:49.540310/console.log.2014-07-31-05 echo ${${i/\.\//}} riak.logs.cloudstoragea08/2014-08-07T15:47:49.540310/console.log.2014-07-31-05 echo ${echo ${i/\.\//} | cut -d/ -f 1} zsh: bad substitution: echo $(echo ${i/\.\//} | cut -d/ -f 1) riak.logs.cloudstoragea08

i=./riak.logs.cloudstoragea08/2014-08-07T15:47:49.540310/console.log.2014-07-31-05
j=${i:2}
echo ${j%%/*}

Альтернативно:

expr $i : '\.\/\([^/]*\)/'