0

ファイルに対して実行できるコマンドを教えてください。

入力 -1:

/*
* Copyright (c) 1992-2013 Some comp, Inc and/or its affiliates. All rights reserved.
* Some comp PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* Author: aaaa
* DateCreated:   aaaa
* Last Modified By: aaaa
* Modified Time:  aaaa
* File Version: aaaa
* File Path: aaaa
*/

上記のすべての行を削除して置き換える必要があります

/*
* Copyright (c) 1992-2013 some comp, and/or its affiliates. All rights reserved.
* some comp PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* Author: bbbb
* DateCreated:   bbbb
* Last Modified By:  bbbb
* Modified Time:  bbbb
* File Version:  bbbb
* File Path:  bbbb
*/

私の意見では、最初に「/ 」から「 /」まで削除するか、ファイルの先頭から */ まで削除します。その後、ファイルの先頭にある 2 番目の行ブロックに置き換えます。

4

2 に答える 2

0

sedとawkで正規表現を使用します。Gawkには、テキストを置き換えるためのgsubと呼ばれる関数があります。

于 2013-03-19T14:04:04.633 に答える
0

ファイルがfilename. 新しいテキストを最初と最後の行を除いて (つまり、"* Copyright..." から "* File Path..." まで) に保存しますnewcopyright。それで:

sed -e '/Path/ r newcopyright' -e '/Copyright/,/Path/d' filename

これにより、新しいファイルが標準出力 (つまり、画面) に送信されます。それを新しいファイルにリダイレクトするか、ファイルをその場で変更する場合は、次のようにします。

sed -i '.save' -e '/Path/ r newcopyright' -e '/Copyright/,/Path/d' filename
于 2013-03-19T14:11:09.967 に答える