Writing an awk script that reads variable from cmmand line












0















I am trying to write an awk script that can read a users input from command line and store it as a variable.



I know that if I compile from command line and do



./myawk.awk -v ID=4 text.sql


ID will be a variable set to 4. However, the input test cases I am given for my script are just



./myawk.awk ID=4 text.sql


The final goal of the script is to take an ID, find any line that begins with



-- ID


and print the following line. What I have so far is



#!/bin/awk -f
{
if ($1 ~/--/ && $2 ~/^ID/){
x = NR+1
}
while (NR <= x){
print $0
}
}


Can someone explain to me how I am able to read the variable ID without altering the line and adding -v before it, as well maybe give me advice on my current awk script.










share|improve this question







New contributor




Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I am trying to write an awk script that can read a users input from command line and store it as a variable.



    I know that if I compile from command line and do



    ./myawk.awk -v ID=4 text.sql


    ID will be a variable set to 4. However, the input test cases I am given for my script are just



    ./myawk.awk ID=4 text.sql


    The final goal of the script is to take an ID, find any line that begins with



    -- ID


    and print the following line. What I have so far is



    #!/bin/awk -f
    {
    if ($1 ~/--/ && $2 ~/^ID/){
    x = NR+1
    }
    while (NR <= x){
    print $0
    }
    }


    Can someone explain to me how I am able to read the variable ID without altering the line and adding -v before it, as well maybe give me advice on my current awk script.










    share|improve this question







    New contributor




    Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I am trying to write an awk script that can read a users input from command line and store it as a variable.



      I know that if I compile from command line and do



      ./myawk.awk -v ID=4 text.sql


      ID will be a variable set to 4. However, the input test cases I am given for my script are just



      ./myawk.awk ID=4 text.sql


      The final goal of the script is to take an ID, find any line that begins with



      -- ID


      and print the following line. What I have so far is



      #!/bin/awk -f
      {
      if ($1 ~/--/ && $2 ~/^ID/){
      x = NR+1
      }
      while (NR <= x){
      print $0
      }
      }


      Can someone explain to me how I am able to read the variable ID without altering the line and adding -v before it, as well maybe give me advice on my current awk script.










      share|improve this question







      New contributor




      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I am trying to write an awk script that can read a users input from command line and store it as a variable.



      I know that if I compile from command line and do



      ./myawk.awk -v ID=4 text.sql


      ID will be a variable set to 4. However, the input test cases I am given for my script are just



      ./myawk.awk ID=4 text.sql


      The final goal of the script is to take an ID, find any line that begins with



      -- ID


      and print the following line. What I have so far is



      #!/bin/awk -f
      {
      if ($1 ~/--/ && $2 ~/^ID/){
      x = NR+1
      }
      while (NR <= x){
      print $0
      }
      }


      Can someone explain to me how I am able to read the variable ID without altering the line and adding -v before it, as well maybe give me advice on my current awk script.







      awk command-line regular-expression variable arguments






      share|improve this question







      New contributor




      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 17 mins ago









      Connor HaleConnor Hale

      1




      1




      New contributor




      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Connor Hale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Connor Hale is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f503047%2fwriting-an-awk-script-that-reads-variable-from-cmmand-line%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Connor Hale is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Connor Hale is a new contributor. Be nice, and check out our Code of Conduct.













          Connor Hale is a new contributor. Be nice, and check out our Code of Conduct.












          Connor Hale is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f503047%2fwriting-an-awk-script-that-reads-variable-from-cmmand-line%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          サソリ

          広島県道265号伴広島線

          Accessing regular linux commands in Huawei's Dopra Linux