我正在尝试使用移动 (mv) 命令重命名文件
$ls
-0
-1
-2
到
000.json
001.json
002.json
我试过的代码
for i in -*; do
N=3
echo mv -v -- "\"""$i""\"" "$(echo "$i" | sed -r ":r;s/\b[0-9]{1,$((N - 1))}\b/0&/g;tr" | sed "s/-//" | sed "s/$/.json/")"
mv -v -- "\"""$i""\"" "$(echo "$i" | sed -r ":r;s/\b[0-9]{1,$((N - 1))}\b/0&/g;tr" | sed "s/-//" | sed "s/$/.json/")"
done
此代码输出
mv -v -- "-0" 000.json
mv: cannot stat '"-0"': No such file or directory
mv -v -- "-1" 001.json
mv: cannot stat '"-1"': No such file or directory
mv -v -- "-2" 002.json
mv: cannot stat '"-2"': No such file or directory
如果我尝试执行
mv -v -- "-0" 000.json
这有效。但是当我尝试用mv -v -- "\"""$i""\"" "$(echo "$i" | sed -r ":r;s/\b[0-9]{1,$((N - 1))}\b/0&/g;tr" | sed "s/-//" | sed "s/$/.json/")"
来做的时候。它不会工作。
任何人都可以帮我修复
mv -v -- "\"""$i""\"" ...
这部分命令在哪里"\"""$i""\""
我只是想添加引号?所以它给No such file or directory
.