进来的文件有空格、单引号、方括号、方括号等。
我删除空格并使用以下命令替换为点
for file in *.mp4; do mv "$file" `echo $file | tr ' ' '.'` ; done
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令删除特殊字符
rename -n 's/[^a-zA-Z0-9_-]//g' "$file"
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,单引号(')仍然存在于文件名中。有没有办法在一个命令中拥有干净的文件名?
在 bash 中:
for file in *.mp4; do dest="${file//[[:space:]]/.}" && mv -i "$file" "${dest//[^[:alnum:]._-]/}"; done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9120 次 |
| 最近记录: |