所以我现在正在与脚本作斗争。我正在使用zsh。我试过各种各样的组合,但都没有成功。正在尝试递归更改文件名。所以基本上我有一个变量:file1。我想做的是这样的事情:
zmv -W ${file1}/'**/*(test)*' ${file1}/'**/*red*'
这将递归地将子目录中的任何文件或文件夹从测试更改为红色。因此:如果$file1=/var/log,那么它应该更改:
/var/log/jump/green测试.txt到/var/log/jump/grine红色.txt
还有
/var/log/jump/1/1/测试/test.xyz到/var/log/jump/1/红色/红.xyz
基本上,如果我进行了搜索:ls **/*test*
它会递归地列出所有包含单词"test"的文件和文件夹。对于zmv解决方案,我想"查找";那些实例,并将测试更改为红色。
我该怎么做?
我希望您先用-n
尝试这些东西。。。。
除此之外,在我看来唯一错误的部分是test
周围的括号。您为一些不是通配符的东西引入了一个新的模式变量,但您的-W
已经隐式地引入了组和引用。因此,我会尝试
zmv -Wn $file1/'**/*test*' $file1/'**/*red*'
如果有效,则移除-n
。