用于删除多行块的脚本

时间:2014-12-27 22:07:36

标签: linux unix awk sed

我正在尝试从多个文件中删除重复的if块,例如,如果在许多其他文件中存在returnString()中的块:

/**
 *
 *
 *Some text
 *
 */
    private String returnString() {
        if (containsString()) {
            System.out.println("Random text");
            System.out.println("Random text");
        }

    System.out.println("Random text");
    }
    Some text
    Some text

我已将此数据存储在一个文件中,我想使用脚本从所有文件中删除整个if块。所以最终输出应该是:

/**
     *
     *
     *Some text
     *
     */
        private String returnString() {

        System.out.println("Random text");
        }
        Some text
        Some text

我以前没有任何脚本经验,但我已经尝试过sed并且能够删除一些行而不是完整的块。如果有人可以提供帮助,请查看。

1 个答案:

答案 0 :(得分:2)

使用GNU sed:

 sed -i '/if .* {/,/}/d' file