grep search pattern in multiple files and output to different files
I have a directory /foo/bar that contains many files, let's say a.file
, b.file
, c.file
and so on.
I am using grep
to search for xyz
pattern inside every file in that directory, but I want to send the result in new files such as a.new.file
if the line was found in a.file
, b.new.file
if the line was found in b.file
and so on.
My attempt:
grep -ri "xyz" /foo/bar/*
works well on screen, every line from the result starts with the path to the file that contains the pattern. Is this path stored in a variable that i can use to create the new files?
Edit:
Content of a.new.file
should be all lines that match xyz
from a.file
Content of b.new.file
should be all lines that match xyz
from b.file
And so on.
sed grep
add a comment |
I have a directory /foo/bar that contains many files, let's say a.file
, b.file
, c.file
and so on.
I am using grep
to search for xyz
pattern inside every file in that directory, but I want to send the result in new files such as a.new.file
if the line was found in a.file
, b.new.file
if the line was found in b.file
and so on.
My attempt:
grep -ri "xyz" /foo/bar/*
works well on screen, every line from the result starts with the path to the file that contains the pattern. Is this path stored in a variable that i can use to create the new files?
Edit:
Content of a.new.file
should be all lines that match xyz
from a.file
Content of b.new.file
should be all lines that match xyz
from b.file
And so on.
sed grep
add a comment |
I have a directory /foo/bar that contains many files, let's say a.file
, b.file
, c.file
and so on.
I am using grep
to search for xyz
pattern inside every file in that directory, but I want to send the result in new files such as a.new.file
if the line was found in a.file
, b.new.file
if the line was found in b.file
and so on.
My attempt:
grep -ri "xyz" /foo/bar/*
works well on screen, every line from the result starts with the path to the file that contains the pattern. Is this path stored in a variable that i can use to create the new files?
Edit:
Content of a.new.file
should be all lines that match xyz
from a.file
Content of b.new.file
should be all lines that match xyz
from b.file
And so on.
sed grep
I have a directory /foo/bar that contains many files, let's say a.file
, b.file
, c.file
and so on.
I am using grep
to search for xyz
pattern inside every file in that directory, but I want to send the result in new files such as a.new.file
if the line was found in a.file
, b.new.file
if the line was found in b.file
and so on.
My attempt:
grep -ri "xyz" /foo/bar/*
works well on screen, every line from the result starts with the path to the file that contains the pattern. Is this path stored in a variable that i can use to create the new files?
Edit:
Content of a.new.file
should be all lines that match xyz
from a.file
Content of b.new.file
should be all lines that match xyz
from b.file
And so on.
sed grep
sed grep
edited Aug 22 '18 at 8:39
Alex
asked Aug 22 '18 at 8:26
AlexAlex
1084
1084
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
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%2f464074%2fgrep-search-pattern-in-multiple-files-and-output-to-different-files%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done
add a comment |
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done
add a comment |
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done
edited Jan 13 at 2:03
Jeff Schaller
39.5k1054126
39.5k1054126
answered Aug 22 '18 at 8:45
Gerard H. PilleGerard H. Pille
1,324212
1,324212
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%2f464074%2fgrep-search-pattern-in-multiple-files-and-output-to-different-files%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