mv 在 for 循环中:“移动多个文件时,最后一个参数必须是一个目录”

mv 在 for 循环中:“移动多个文件时,最后一个参数必须是一个目录”

我尝试重命名几个文件,省略前 n 个字符。实际上,我想删除前缀[ www.blabla.com ](18 个字符)。

我在 Windows 上,在 Git-bash 上使用 bash 命令。

我已经尝试过这个命令:

for f in *blabla*; do mv $f $(echo $f | sed -e 's/^...................//'); done

但我有一个错误:

移动多个文件时,最后一个参数必须是一个目录”

但我的理解是我已经一个一个地做了mv

答案1

缺少双引号:

for f in *blabla*; do 
    mv "$f" $(echo $f | sed -e 's/^...................//');
done

相关内容