我正在尝试重命名这样的文件:
for file in *;
do
mv -i "$file" "$(echo "$file" | sed -e 's/[^A-Za-z0-9._-]/_/g')";
done
但是该sed
命令将所有空格替换为_
。
如何编辑sed
命令以使其包含空格和指定的字符?我试过使用,\s
但不起作用...
编辑:
例如:文件trip: hill
,应重命名:trip_ hill
,但是上面的命令使它成为trip__hill
。
我正在将一些文件从linux移到Mac。但是由于某些原因,Mac系统无法读取所有文件名,因此我试图重命名我的文件。在上面的命令中添加空格不起作用。而且您是正确的:除指定的字符外,我想用'_'替换所有字符。而且我不知道如何包含空格字符。