2011-01-30 1 views
0

Discount年代ファイルの先頭からコメントを削除configure.shスクリプトはconfig.hファイルの開始時にいくつかの動的なコメントを生成します:gitのプロジェクト内の割引を埋め込む際に、いくつかの役に立たないのパッチになり検出し

/* 
* configuration for markdown, generated Fri 28 Jan 2011 16:13:46 EST 
* by [email protected] 
*/ 
#ifndef __AC_MARKDOWN_D 
#define __AC_MARKDOWN_D 1 

[...] 

、だから私はそれらをコミットする前に削除します。私はconfigure.shからの出力を自動化したいので、プロジェクトの中で値引きをすばやくアップグレードできますが、awk/sedに精通しているわけではありません。

tail -n +5 config.h > ../discount-config/config.h 

しかし、私はもっと何か将来性でこれを交換したいと思いますので、割引のそれ以降のバージョンがより/もっと少ないを持っている場合には、ファイルをマングルません。私は私のスクリプトでこのラインを持っていますコメントの4行。

+0

あなたはちょうどそのコメントを記述しないために 'configure.sh'を変更することはできませんか? – SilentGhost

+1

なぜ生成されたファイルをリポジトリに格納したいのですか?通常は、プロジェクトをチェックアウトした後にファイルを生成するために実行できるスクリプトを保存する方がよいでしょう。 – ssmir

+0

@SilentGhost 'configure.sh'は割引のgitリポジトリの一部です。私はそれを変更したくありません – Tim

答えて

1

sedはどうですか?例えば

、あなたはトップのコメントは、常にファイルの最初の行から開始すると仮定することができた場合:

$ cat test.h 
/* 
* configuration for markdown, generated Fri 28 Jan 2011 16:13:46 EST 
* by [email protected] 
*/ 
#ifndef __AC_MARKDOWN_D 
#define __AC_MARKDOWN_D 1 

/* 
* Test 
*/ 

int x; 
$ sed '1,/^ *\*\/ *$/ { d; }' test.h 
#ifndef __AC_MARKDOWN_D 
#define __AC_MARKDOWN_D 1 

/* 
* Test 
*/ 

int x; 
+0

ありがとう!私はそれのような優雅な解決策があると思ったが、私はそれを書くためにsedについて十分に知りませんでした。 – Tim

関連する問題