小编col*_*inh的帖子

Zsh:是否可以使用变量的值作为替换模式?

是否可以执行以下操作?

g=$f:s/$in/$out/;

或者

g=$g:s/$in[$i]/$out[$i]/;

我尝试过随机字符组合,例如${~in}g=$g:ps/,但是,正如你所看到的,我不是 zsh 专家——猜测对我没有任何帮助:-)我什至尝试阅读手册页...

编辑:我正在尝试编写自己的 zmv 类型命令:

# in   a*b* -> a b NULL     rn a*b* *c*d   aXXbYY  -->  XXcYYd
# out  *c*d -> NULL c d     rn inv* mag*   inv.ext inv.spc -->  mag.ext mag.spc

alias rn='noglob frn'

function frn() {                                                                                                   
    local in out m n f g i
    setopt localoptions glob histsubstpattern

    in=("${(@s:*:)1}")                          # split $1 and $2 on '*'
    out=("${(@s:*:)2}")                         # keeping NULL fields

    m=${#in[@]}                                 # count n(array-elements)
    n=${#out[@]}

    if [[ …
Run Code Online (Sandbox Code Playgroud)

zsh shell-script

5
推荐指数
1
解决办法
125
查看次数

标签 统计

shell-script ×1

zsh ×1