码迷,mamicode.com
首页 > 其他好文 > 详细

一个批量移除BOM头的bash脚本

时间:2016-09-01 15:56:17      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

有时候我们的文件可能不需要BOM头,例如:我们公司的SVN服务器提供的代码都UTF8编码保存(不能有BOM头)否则代码提交不上去。

文件很多的时候就需要批量操作。

 

脚本使用方法:remove-bom.sh filePath|dirPath

参数可传文件路径或目录路径。具体代码如下:

#!/usr/bin/env bash

# @author frank
# @email frank@mondol.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脚本

标签:

原文地址:http://www.cnblogs.com/mondol/p/5830008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!