我有一些文件的字符,如 $'\351' 和 $'\346' . 我还不知道如何在bash上引用这些文件。我怎么用 mv 和 sed 改变他们的名字?
$'\351'
$'\346'
mv
sed
当我跑的时候 ls ,例如,出现的文件之一显示为:
ls
'æ ¹'$'\346''%8B'$'\240''.html'
这种情况下的大多数用户都希望使用 convmv 转换这种文件名的编码。
convmv
export LC_ALL=C for f in * do mv -- "$f" "$(printf '%s' "$f" | od -t x1 -An | tr -cd 'a-f0-9')" done
这将使文件 'æ ¹'$'\346''%8B'$'\240''.html' 进入之内 e6a0b9e6253842a02e68746d6c
e6a0b9e6253842a02e68746d6c