Loading commands from file












5















Is it possible to write commands to text file and then loaded it into terminal as file? If yes, how is the command for loading the file? Thank you.



For instance file_commands:



awk -f program.awk d01.active > out1
awk -f program.awk d02.active > out2


It is because of a problem with running an awk program that doesn't work with command



awk -f program.awk d??.active > out


I need to use program.awk for lots of files and this seemed to me as easier solution when I am not able to repair program for that command with ??.



It is related with this question https://stackoverflow.com/questions/55313187/more-input-files-in-awk?noredirect=1#comment97356807_55313187










share|improve this question




















  • 3





    Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

    – Kusalananda
    Mar 23 at 19:00
















5















Is it possible to write commands to text file and then loaded it into terminal as file? If yes, how is the command for loading the file? Thank you.



For instance file_commands:



awk -f program.awk d01.active > out1
awk -f program.awk d02.active > out2


It is because of a problem with running an awk program that doesn't work with command



awk -f program.awk d??.active > out


I need to use program.awk for lots of files and this seemed to me as easier solution when I am not able to repair program for that command with ??.



It is related with this question https://stackoverflow.com/questions/55313187/more-input-files-in-awk?noredirect=1#comment97356807_55313187










share|improve this question




















  • 3





    Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

    – Kusalananda
    Mar 23 at 19:00














5












5








5


2






Is it possible to write commands to text file and then loaded it into terminal as file? If yes, how is the command for loading the file? Thank you.



For instance file_commands:



awk -f program.awk d01.active > out1
awk -f program.awk d02.active > out2


It is because of a problem with running an awk program that doesn't work with command



awk -f program.awk d??.active > out


I need to use program.awk for lots of files and this seemed to me as easier solution when I am not able to repair program for that command with ??.



It is related with this question https://stackoverflow.com/questions/55313187/more-input-files-in-awk?noredirect=1#comment97356807_55313187










share|improve this question
















Is it possible to write commands to text file and then loaded it into terminal as file? If yes, how is the command for loading the file? Thank you.



For instance file_commands:



awk -f program.awk d01.active > out1
awk -f program.awk d02.active > out2


It is because of a problem with running an awk program that doesn't work with command



awk -f program.awk d??.active > out


I need to use program.awk for lots of files and this seemed to me as easier solution when I am not able to repair program for that command with ??.



It is related with this question https://stackoverflow.com/questions/55313187/more-input-files-in-awk?noredirect=1#comment97356807_55313187







terminal






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 23 at 19:07







Lukáš Altman

















asked Mar 23 at 18:58









Lukáš AltmanLukáš Altman

695




695








  • 3





    Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

    – Kusalananda
    Mar 23 at 19:00














  • 3





    Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

    – Kusalananda
    Mar 23 at 19:00








3




3





Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

– Kusalananda
Mar 23 at 19:00





Isn't this what an ordinary script is? Could you possibly give an example of what it is you want to do?

– Kusalananda
Mar 23 at 19:00










2 Answers
2






active

oldest

votes


















9














If you have a file with a list of shell commands, one per line, then you have a shell script! All you need to do is run it:



sh file_commands


However, that isn't the simplest approach for what I think you need. If you want to run program.awk on each d??.active file in the current directory, you can simply use a loop:



for file in d??.active; do awk -f program.awk "$file" > "$file".out; done


That will create a d01.active.out out file for d01.active, a d02.active.out file for d02.active and so on.






share|improve this answer































    5














    A shell script is essentially a list of commands terminated by line separators that will be interpreted as a list of commands by the specified (or default) interpreter.



    To specify an interpreter your file should start with a hashbang (also called shebang).



    Examples:



    #!/bin/sh
    #!/bin/bash
    #!/bin/ksh
    #!/bin/zsh
    #!/usr/bin/env bash


    Note: each of these interpreters have their own syntax and set of rules. You should study the manual for whichever one you plan on using.





    After your hashbang you can essentially just start listing your commands to be executed each on their own line.



    Note: these commands will be executed in order from top to bottom





    In your example you would want something like:



    #!/bin/sh

    awk -f program.awk d01.active > out1
    awk -f program.awk d02.active > out2


    You would then have to make this file executable and would run it by specifying the full or relative path to the file on the command line. (or by running sh /path/to/file)





    This does seem like a potential x-y problem though and can probably be handled in a more programmatic way.



    Such as:



    #!/bin/bash

    for file in d??.active; do
    n=${file:1:2}
    awk -f program.awk "$file" > "out$n"
    done





    share|improve this answer

























      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
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f508204%2floading-commands-from-file%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      9














      If you have a file with a list of shell commands, one per line, then you have a shell script! All you need to do is run it:



      sh file_commands


      However, that isn't the simplest approach for what I think you need. If you want to run program.awk on each d??.active file in the current directory, you can simply use a loop:



      for file in d??.active; do awk -f program.awk "$file" > "$file".out; done


      That will create a d01.active.out out file for d01.active, a d02.active.out file for d02.active and so on.






      share|improve this answer




























        9














        If you have a file with a list of shell commands, one per line, then you have a shell script! All you need to do is run it:



        sh file_commands


        However, that isn't the simplest approach for what I think you need. If you want to run program.awk on each d??.active file in the current directory, you can simply use a loop:



        for file in d??.active; do awk -f program.awk "$file" > "$file".out; done


        That will create a d01.active.out out file for d01.active, a d02.active.out file for d02.active and so on.






        share|improve this answer


























          9












          9








          9







          If you have a file with a list of shell commands, one per line, then you have a shell script! All you need to do is run it:



          sh file_commands


          However, that isn't the simplest approach for what I think you need. If you want to run program.awk on each d??.active file in the current directory, you can simply use a loop:



          for file in d??.active; do awk -f program.awk "$file" > "$file".out; done


          That will create a d01.active.out out file for d01.active, a d02.active.out file for d02.active and so on.






          share|improve this answer













          If you have a file with a list of shell commands, one per line, then you have a shell script! All you need to do is run it:



          sh file_commands


          However, that isn't the simplest approach for what I think you need. If you want to run program.awk on each d??.active file in the current directory, you can simply use a loop:



          for file in d??.active; do awk -f program.awk "$file" > "$file".out; done


          That will create a d01.active.out out file for d01.active, a d02.active.out file for d02.active and so on.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 23 at 19:14









          terdonterdon

          133k32265444




          133k32265444

























              5














              A shell script is essentially a list of commands terminated by line separators that will be interpreted as a list of commands by the specified (or default) interpreter.



              To specify an interpreter your file should start with a hashbang (also called shebang).



              Examples:



              #!/bin/sh
              #!/bin/bash
              #!/bin/ksh
              #!/bin/zsh
              #!/usr/bin/env bash


              Note: each of these interpreters have their own syntax and set of rules. You should study the manual for whichever one you plan on using.





              After your hashbang you can essentially just start listing your commands to be executed each on their own line.



              Note: these commands will be executed in order from top to bottom





              In your example you would want something like:



              #!/bin/sh

              awk -f program.awk d01.active > out1
              awk -f program.awk d02.active > out2


              You would then have to make this file executable and would run it by specifying the full or relative path to the file on the command line. (or by running sh /path/to/file)





              This does seem like a potential x-y problem though and can probably be handled in a more programmatic way.



              Such as:



              #!/bin/bash

              for file in d??.active; do
              n=${file:1:2}
              awk -f program.awk "$file" > "out$n"
              done





              share|improve this answer






























                5














                A shell script is essentially a list of commands terminated by line separators that will be interpreted as a list of commands by the specified (or default) interpreter.



                To specify an interpreter your file should start with a hashbang (also called shebang).



                Examples:



                #!/bin/sh
                #!/bin/bash
                #!/bin/ksh
                #!/bin/zsh
                #!/usr/bin/env bash


                Note: each of these interpreters have their own syntax and set of rules. You should study the manual for whichever one you plan on using.





                After your hashbang you can essentially just start listing your commands to be executed each on their own line.



                Note: these commands will be executed in order from top to bottom





                In your example you would want something like:



                #!/bin/sh

                awk -f program.awk d01.active > out1
                awk -f program.awk d02.active > out2


                You would then have to make this file executable and would run it by specifying the full or relative path to the file on the command line. (or by running sh /path/to/file)





                This does seem like a potential x-y problem though and can probably be handled in a more programmatic way.



                Such as:



                #!/bin/bash

                for file in d??.active; do
                n=${file:1:2}
                awk -f program.awk "$file" > "out$n"
                done





                share|improve this answer




























                  5












                  5








                  5







                  A shell script is essentially a list of commands terminated by line separators that will be interpreted as a list of commands by the specified (or default) interpreter.



                  To specify an interpreter your file should start with a hashbang (also called shebang).



                  Examples:



                  #!/bin/sh
                  #!/bin/bash
                  #!/bin/ksh
                  #!/bin/zsh
                  #!/usr/bin/env bash


                  Note: each of these interpreters have their own syntax and set of rules. You should study the manual for whichever one you plan on using.





                  After your hashbang you can essentially just start listing your commands to be executed each on their own line.



                  Note: these commands will be executed in order from top to bottom





                  In your example you would want something like:



                  #!/bin/sh

                  awk -f program.awk d01.active > out1
                  awk -f program.awk d02.active > out2


                  You would then have to make this file executable and would run it by specifying the full or relative path to the file on the command line. (or by running sh /path/to/file)





                  This does seem like a potential x-y problem though and can probably be handled in a more programmatic way.



                  Such as:



                  #!/bin/bash

                  for file in d??.active; do
                  n=${file:1:2}
                  awk -f program.awk "$file" > "out$n"
                  done





                  share|improve this answer















                  A shell script is essentially a list of commands terminated by line separators that will be interpreted as a list of commands by the specified (or default) interpreter.



                  To specify an interpreter your file should start with a hashbang (also called shebang).



                  Examples:



                  #!/bin/sh
                  #!/bin/bash
                  #!/bin/ksh
                  #!/bin/zsh
                  #!/usr/bin/env bash


                  Note: each of these interpreters have their own syntax and set of rules. You should study the manual for whichever one you plan on using.





                  After your hashbang you can essentially just start listing your commands to be executed each on their own line.



                  Note: these commands will be executed in order from top to bottom





                  In your example you would want something like:



                  #!/bin/sh

                  awk -f program.awk d01.active > out1
                  awk -f program.awk d02.active > out2


                  You would then have to make this file executable and would run it by specifying the full or relative path to the file on the command line. (or by running sh /path/to/file)





                  This does seem like a potential x-y problem though and can probably be handled in a more programmatic way.



                  Such as:



                  #!/bin/bash

                  for file in d??.active; do
                  n=${file:1:2}
                  awk -f program.awk "$file" > "out$n"
                  done






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 23 at 19:47

























                  answered Mar 23 at 19:16









                  Jesse_bJesse_b

                  14.1k23572




                  14.1k23572






























                      draft saved

                      draft discarded




















































                      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%2f508204%2floading-commands-from-file%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

                      Plaza Victoria

                      In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

                      How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...