Rename
1 最好寫成1warning,但是__1在一個rn一世nG,b在噸1 warning, but1 不工作
我想重命名包含“文本名稱”之類的文件
$$ 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
,請使用單引號而不是雙引號(正如弗雷迪所提到的,您也不需要轉義替換字元串中的括號)。