从目录中的所有文件或选定文件中删除空格、连字符和下划线的好命令是什么?
我在 Thunar 自定义操作中使用以下命令来对文件名进行 slugify:
for file in %N; do mv "$file" "$(echo "$file" | tr -s ' ' | tr ' A-Z' '-a-z' | tr -s '-' | tr -c '[:alnum:][:cntrl:].' '-')"; done
Run Code Online (Sandbox Code Playgroud)
但该命令仅用破折号/连字符和小写字母替换空格。
我在终端中使用以下命令从文件夹中的数千个文件名中删除空格,并且运行速度非常快:
rename "s/ //g" *
Run Code Online (Sandbox Code Playgroud)
同样,它只删除空格,不删除连字符/破折号和下划线。
理想情况下,我的文件名中不需要任何空格、连字符/破折号和下划线。如果该命令可以与所选文件的 Thunar 自定义操作一起使用,那就太好了。
我有一堆编号格式错误的文件:
prefix-#.ext | for files with number 1-9
prefix-##.ext | for files with number 10-99
prefix-###.ext | for files with number 100-999
Run Code Online (Sandbox Code Playgroud)
由于进一步处理,我需要他们所有的名字都采用以下格式:prefix-###.ext
. 有没有简单的方法可以做到这一点?