awk,sed文本处理案例

#!/bin/bash

#############################################################################
#针对一个多级目录下指定后缀的文件,将指定后缀的所有文件的第一行替换为指定内容,并在第一行下面添加一行新数据.
#其中:
#    输入参数为:待处理目录,文件后缀,要替换成的内容,需添加的内容(若为空则不添加)。
#    输出处理后的文件。
#############################################################################
# FileName: editFile.sh
# Function:
# Author: xumj
# CreateTime: 2015-09-16
#############################################################################

#处理路径
path="$1"
#后缀
postfix="$2"
#替换的结果字符串
replaceStr="$3"
#附加字符串
appendStr="$4"

find $path -name "*.$postfix" | awk '{ 
    cmd="sed -i 1c\\ '$replaceStr' "$1"";
    cmd|getline; 
    if("'$appendStr'" != "")
    { 
        appcmd="sed -i 1a\\ '$appendStr' "$1"";
        appcmd|getline;
    }
}
'

 

posted on 2015-09-16 10:27  霏霏暮雨  阅读(294)  评论(0编辑  收藏  举报

导航