Rename

1 最好寫成1warning,但是__1在一個rn一世nG,b在噸1 warning, but1 不工作

  • May 18, 2020

我想重命名包含“文本名稱”之類的文件

$$ 1 $$.m4a" 到 “文本名稱$$ 01 $$.m4a”。 起初,我寫道:

rename -n "s/\[(\d)\]/\[0$1\]/" *.m4a

該命令[0]改為顯示[01]。如果我替換$1\1,它按預期工作。

rename -n "s/\[(\d)\]/\[0\1\]/" *.m4a

但是有警告\1 better written as $1 at (eval 5) line 1. 為什麼第一個命令不起作用,我該如何重寫它?

我正在File::Rename version 0.20使用Ubuntu 18.04.4 LTS.

"...$1..."帶雙引號的$1情況下,shell 在字元串傳遞給rename. 所以rename只能看到[0]並相應地執行替換。

要使外殼按$1字面意思傳遞給rename,請使用單引號而不是雙引號(正如弗雷迪所提到的,您也不需要轉義替換字元串中的括號)。

引用自:https://unix.stackexchange.com/questions/587349