我正在尝试在我的 package.json 中编写一个脚本,该脚本将根目录内具有特定名称(OLD_NAME)的每个文件夹重命名为新名称(NEW_NAME)。
如果我将 cd ... 终端连接到父目录并键入以下“重命名”脚本的内容,则该脚本将起作用。但是,如果我尝试将其写入package.json文件中...
"scripts": {
"rename": "find . -depth -type d -name 'OLD_NAME*' -execdir mv {} NEW_NAME \;"
}
陪同/更漂亮的人不仅摆脱了反斜杠...
"rename": "find . -depth -type d -name 'OLD_NAME*' -execdir mv {} NEW_NAME ;"
...但是出现以下终端错误
查找:-execdir:不终止“;”或“ +”
我尝试了以下操作,但无济于事
"rename": "find . -depth -type d -name 'OLD_NAME*' -execdir mv {} NEW_NAME /\\;"
我无法使用正确的问题进行搜索来找到答案,也无法找出答案。有什么建议吗?
答案 0 :(得分:1)
我遇到了同样的问题,并使用\\;
而不是\;
或;
或/\\;
来解决了
示例代码如下
"find packages -maxdepth 1 -type d -exec bash -c 'cd {} && ncu -u' \\;"