我在Linux系统上有一个项目,其中包含一些在Windows系统中被认为是非法/保留的字符(详见http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx),这个项目跨越多个文件夹有超过10,000个文件,我想要找到这些文件的路径。
我可以使用find . -name "*\?*"
命令查找每个非法/保留字符,但是否有更简便的方法可以查找包含以下字符的所有文件:< > : " / \ | ? *
一旦找到这些文件,我希望从它们的内容中删除所有此类字符。
find . -type f -name '*.html' -exec sed -i.bak 's/[<>:\\|?*]\+/-/g' '{}' \;
** - anubhava