Bash:删除文件名和文件夹名称中的正斜杠

时间:2016-02-19 11:04:04

标签: macos bash rename file-rename

我需要从给定文件夹开始删除所有文件名和文件夹名称中的正斜杠,并包括其所有子文件夹。

为了在Mac上使用automator,我在下面找到了bash脚本。它在尝试替换任何类型的字符时起作用(例如使用[A]替换文件名中的A),但不能使用正斜杠。

#!/bin/bash
find "/startdir/" -depth -name "*[\/]*" |     
while read FILEDIR 
do
    DIR="${FILEDIR%/*}"   
    FILE="${FILEDIR/*\/}"        
    NEWFILE="${FILE//[\/]/_}"
    mv "$DIR/$FILE" "$DIR/$NEWFILE"
done

非常欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

在这里找到答案: https://superuser.com/questions/617517/remove-all-illegal-characters-from-all-filenames-in-a-given-folder

正斜杠应该用bash脚本中的分号代替,以匹配OSX文件名中的正斜杠字符。 通过此更改,上述脚本可以正常运行。