在Groovy中读取文件时忽略以#开头的行

时间:2019-05-28 18:24:05

标签: groovy jenkins-pipeline jenkins-groovy groovyshell

我正在用Groovy编写代码来逐行读取文件,并根据该行中的可用信息执行操作(例如:为特定配置构建代码)。

下面的常规代码对我来说运行得很好,除了我想忽略或跳过第一行或者以#或注释(//开头的任何行。

__SAMPLE_GROOVY_CODE__  

  input_file = '/home/user/inputFile.txt'

    // read all the lines into a list, each line is an element in the list
    File FH1 = new File(input_file)
    def lines = FH1.readLines()
    for (line in lines) 
    {
        env.c_num = sh(returnStdout: true, script: "echo '${line}' | cut -d ':' -f 1").trim();
        env.p_num = sh(returnStdout: true, script: "echo '${line}' | cut -d ':' -f 2").trim();

        env.p_len = p_num.length();
        println("INFO: Length is ${p_len} \n");

        if(env.p_len != '0')
        {
            println ("INFO: Build is required  !! \n");
            println ("INFO: c_num is: ${c_num} \n");
            println ("INFO: p_num is: ${p_num} \n");

            // Code for build will come here..!!

        }
        else
        {
            println("INFO: Build is NOT required !! \n");
        }
    }


    __INPUT_FILE__

    $> cat /home/user/inputFile.txt

    # Details of inputFile.txt
    1234-A0: aa ab ac ad ae al
    5678-B0:
    2345-B0: ba
    3456-B0:
    4567-B0: ca

0 个答案:

没有答案