重命名命令中避免使用非标准ASCII字符

时间:2018-06-29 12:20:20

标签: ascii rename file-rename non-ascii-characters

我正在使用此命令来查找和重命名目录中具有非大写文件名的文件(为了安全起见,我离开了-n标志,以防万一有人从此处复制和粘贴):

rename -n 's/(?<![.'\''])\b\w*/\u$&/g' *

问题是它会找到具有非标准ASCII字符(例如Noël)的文件,并将其视为需要修复的问题。

有什么办法可以避免这种情况发生?


编辑(20180701-1635):

我刚刚意识到,如果文件名也包含破折号或撇号(该命令将字符更改为大写),该命令也会“失败”(尝试重命名)。当前错误重命名的示例:

Alan的Filename.txt> Alan的Filename.txt

File-name.txt> File-Name.txt


1 个答案:

答案 0 :(得分:0)

您的问题有点分散,但我认为您的意思是:

for i in $(echo * | sed 's, YOUR_REG_EGP ,,g'); do
  # your rename commmands on $i
done