Loading commands from file
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
add a comment |
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
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
add a comment |
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
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
terminal
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Mar 23 at 19:14
terdon♦terdon
133k32265444
133k32265444
add a comment |
add a comment |
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
add a comment |
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
add a comment |
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
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
edited Mar 23 at 19:47
answered Mar 23 at 19:16
Jesse_bJesse_b
14.1k23572
14.1k23572
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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