一个批量移除BOM头的bash脚本
Posted 萌豆笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个批量移除BOM头的bash脚本相关的知识,希望对你有一定的参考价值。
有时候我们的文件可能不需要BOM头,例如:我们公司的SVN服务器提供的代码都UTF8编码保存(不能有BOM头)否则代码提交不上去。
文件很多的时候就需要批量操作。
脚本使用方法:remove-bom.sh filePath|dirPath
参数可传文件路径或目录路径。具体代码如下:
#!/usr/bin/env bash # @author frank # @email [email protected]info # @created 2016-09-01 # # Usage: remove-bom.sh filePath|dirPath removeBomByFile() { bomFile=`grep -I -l $‘^\xEF\xBB\xBF‘ $1` if [ x$1 = x$bomFile ]; then # has BOM sed -i ‘s/\xEF\xBB\xBF//‘ $1 echo BOM removed by file: $1 fi } if [ -d $1 ]; then for filePath in `find $1 -type f | grep -vE "/\.[^/]+/"` do # grep exclude hide files removeBomByFile $filePath done elif [ -e $1 ]; then removeBomByFile $1 else echo $1 is not a file or directory fi
以上是关于一个批量移除BOM头的bash脚本的主要内容,如果未能解决你的问题,请参考以下文章