如何编写一个脚本(以自动执行此过程)以在文件名中查找空格和特殊字符.我在SVN中有大量的文件名数据



find.-type f|egrep-i"~||&|@|#|<|>|;|:|!|'^'|,|-|_"|tee temp.txt

我不确定像 * 或 $ 这样的特殊字符。你能帮我解决这个问题吗?

首先,我建议编写一个采用单个文件名并修复它的脚本。然后你可以做:

find . -type f -exec /path/to/fixNames.sh "{}" ;

然后,fixNames.sh可以包含:

rename 's/[ t]/-/' "$1" # blanks
rename "s/'",//" "$1" # characters to remove
rename 's/&/-n-/' "$1"

注意:使用具有一些错误文件名的文件夹进行测试!仅当您知道这不会导致问题时,才对真实文件运行此命令!

相关:

  • 外壳脚本简介

如何设置两个数组 - 一个用于特殊字符,一个用于替换(它们应包含相同数量的索引)?

#!/bin/bash
SPECIALCHARS=("," " " "&" "\" """)
REPLACEMENTS=("" "-" "-n-" "" "")
for i in $(seq 0 $((${#SPECIALCHARS[@]}-1))); do 
    find . -exec rename "${SPECIALCHARS[$i]}" "${REPLACEMENTS[$i]}" {} ;  
done

相关内容

  • 没有找到相关文章

最新更新