Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2033132
  • 博文数量: 369
  • 博客积分: 10093
  • 博客等级: 上将
  • 技术积分: 4271
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-21 00:59
文章分类

全部博文(369)

文章存档

2013年(1)

2011年(2)

2010年(10)

2009年(16)

2008年(33)

2007年(146)

2006年(160)

2005年(1)

分类:

2006-12-03 19:32:46

以源码方式发布的软件,通常在其每个源文件的开头部分都会有一段版权声明,但是每添加一个文件,就手动将版权声明拷贝过去的做法也确实让人够烦的,尤其当添加的文件较多时,甚至还需要自己去挨个检查是不是有版权声明。作为“懒人”的我们,怎么能够忍受这种重复性的劳动,枯燥的工作就是应该丢给程序去做的,动手写个脚本吧!权衡过perl,python,awk,sed,最终还是选择了bash,也许因为我自己更加熟悉,或者是更能直接地表达意图吧!

File: inscr.sh

#!/bin/bash

#

cr_dir=$(dirname $0)
cr_file="$cr_dir/copyright.txt"

cr_one()
{
        local tmp_file="/tmp/cr_one_$$"
        local cr_file=$1
        local orig_file=$2
        local line=$(wc -l $cr_file | cut -d " " -f 1)
        head -n $line $orig_file | diff - $cr_file > /dev/null && return
        cat $cr_file $orig_file > $tmp_file
        mv $tmp_file $orig_file
}

for i in $@; do
        cr_one $cr_file $i
done


把这个脚本和一个叫作copyright.txt的文件放到一个目录下,然后以要添加声明的文件作为参数,执行之。

至于程序,我想已经简单到可以自解释了,也就不再废话!
阅读(1216) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~