How to sed chunks text from a stream of files from find The 2019 Stack Overflow Developer Survey Results Are InOnly print output after finding patternUse xargs to move files from within a directoryHow can I pass in a parameter to sed?Sending a list (text file) of files and pathnames to xargsHow to find and replace using sed text containing a star *Printing the status of files processed when using findextracting strings from LaTeX filesHow do I extract text fragments of a file using sed?How does `xargs` work on the filenames provided by `find`, which may cause problems?How to use sed and regular expressions to find pattern and remove last few characters?How to search and replace with sed in a line with variable content in it?
If climate change impact can be observed in nature, has that had any effect on rural, i.e. farming community, perception of the scientific consensus?
Can an undergraduate be advised by a professor who is very far away?
How much of the clove should I use when using big garlic heads?
How to support a colleague who finds meetings extremely tiring?
Match Roman Numerals
What do I do when my TA workload is more than expected?
Is Cinnamon a desktop environment or a window manager? (Or both?)
Accepted by European university, rejected by all American ones I applied to? Possible reasons?
What information about me do stores get via my credit card?
Is it safe to harvest rainwater that fell on solar panels?
How do I free up internal storage if I don't have any apps downloaded?
Why can I use a list index as an indexing variable in a for loop?
How to add class in ko template in magento2
What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?
Kerning for subscripts of sigma?
How to charge AirPods to keep battery healthy?
Can we generate random numbers using irrational numbers like π and e?
A female thief is not sold to make restitution -- so what happens instead?
Are spiders unable to hurt humans, especially very small spiders?
What is the motivation for a law requiring 2 parties to consent for recording a conversation
How come people say “Would of”?
Dropping list elements from nested list after evaluation
What is this sharp, curved notch on my knife for?
How do PCB vias affect signal quality?
How to sed chunks text from a stream of files from find
The 2019 Stack Overflow Developer Survey Results Are InOnly print output after finding patternUse xargs to move files from within a directoryHow can I pass in a parameter to sed?Sending a list (text file) of files and pathnames to xargsHow to find and replace using sed text containing a star *Printing the status of files processed when using findextracting strings from LaTeX filesHow do I extract text fragments of a file using sed?How does `xargs` work on the filenames provided by `find`, which may cause problems?How to use sed and regular expressions to find pattern and remove last few characters?How to search and replace with sed in a line with variable content in it?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I have a directory of many *.org
files. I want to select a section of text out of all these org files.
There is a * Learnings
header in the content. I would like to select from the * Learnings
header to the end of the file.
My current attempt is
find ~/org/journal -name "*.org" -type f | xargs sed -n -e '/* Learnings/,$p'
This however just outputs one concatenated stream.
Expected output would be a stream of the content after the * Learnings
header for each file returned from the find
also the solution does not have to use sed
sed find xargs
add a comment |
I have a directory of many *.org
files. I want to select a section of text out of all these org files.
There is a * Learnings
header in the content. I would like to select from the * Learnings
header to the end of the file.
My current attempt is
find ~/org/journal -name "*.org" -type f | xargs sed -n -e '/* Learnings/,$p'
This however just outputs one concatenated stream.
Expected output would be a stream of the content after the * Learnings
header for each file returned from the find
also the solution does not have to use sed
sed find xargs
What output do you expect/need?
– choroba
Mar 30 at 18:50
@choroba added expected output
– kevzettler
Mar 30 at 21:08
add a comment |
I have a directory of many *.org
files. I want to select a section of text out of all these org files.
There is a * Learnings
header in the content. I would like to select from the * Learnings
header to the end of the file.
My current attempt is
find ~/org/journal -name "*.org" -type f | xargs sed -n -e '/* Learnings/,$p'
This however just outputs one concatenated stream.
Expected output would be a stream of the content after the * Learnings
header for each file returned from the find
also the solution does not have to use sed
sed find xargs
I have a directory of many *.org
files. I want to select a section of text out of all these org files.
There is a * Learnings
header in the content. I would like to select from the * Learnings
header to the end of the file.
My current attempt is
find ~/org/journal -name "*.org" -type f | xargs sed -n -e '/* Learnings/,$p'
This however just outputs one concatenated stream.
Expected output would be a stream of the content after the * Learnings
header for each file returned from the find
also the solution does not have to use sed
sed find xargs
sed find xargs
edited Mar 30 at 21:08
kevzettler
asked Mar 30 at 18:45
kevzettlerkevzettler
15317
15317
What output do you expect/need?
– choroba
Mar 30 at 18:50
@choroba added expected output
– kevzettler
Mar 30 at 21:08
add a comment |
What output do you expect/need?
– choroba
Mar 30 at 18:50
@choroba added expected output
– kevzettler
Mar 30 at 21:08
What output do you expect/need?
– choroba
Mar 30 at 18:50
What output do you expect/need?
– choroba
Mar 30 at 18:50
@choroba added expected output
– kevzettler
Mar 30 at 21:08
@choroba added expected output
– kevzettler
Mar 30 at 21:08
add a comment |
4 Answers
4
active
oldest
votes
In Perl, you can use eof that will be true for each end of file:
find . -type f -name '*.org' -exec perl -ne 'print if /* Learnings/ .. eof' +
Using the +
form of -exec
works similarly to xargs
: it builds the arguments to the specified command by appending all the found files.
add a comment |
With the GNU implementation of sed
, you can use the -s
aka --separate
option for each file to be treated separately in that regard.
find . -name '*.org' -type f -exec sed -s '/* Learnings/,$!d' +
With awk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 found = 0; /* Learnings/ found = 1; found' +
add a comment |
Unless this is some kind of homework ;-), you can use the same trick as here with GNU or *BSD grep:
grep -hrFA 10000 '* Learnings' directory
Replace 10000 with something bigger if your files have more than 10000 lines.
add a comment |
examine it in gnu sed,
find ~/org/journal -iname "*.org" -type f -exec sed -nE '/*sLearnings/,$ p' '' +
to really edit and save it, with the origin in a file with .o extension,
find ~/org/journal -iname "*.org" -type f -exec sed -i.o -nE '/*sLearnings/,$ p' '' +
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%2f509619%2fhow-to-sed-chunks-text-from-a-stream-of-files-from-find%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
In Perl, you can use eof that will be true for each end of file:
find . -type f -name '*.org' -exec perl -ne 'print if /* Learnings/ .. eof' +
Using the +
form of -exec
works similarly to xargs
: it builds the arguments to the specified command by appending all the found files.
add a comment |
In Perl, you can use eof that will be true for each end of file:
find . -type f -name '*.org' -exec perl -ne 'print if /* Learnings/ .. eof' +
Using the +
form of -exec
works similarly to xargs
: it builds the arguments to the specified command by appending all the found files.
add a comment |
In Perl, you can use eof that will be true for each end of file:
find . -type f -name '*.org' -exec perl -ne 'print if /* Learnings/ .. eof' +
Using the +
form of -exec
works similarly to xargs
: it builds the arguments to the specified command by appending all the found files.
In Perl, you can use eof that will be true for each end of file:
find . -type f -name '*.org' -exec perl -ne 'print if /* Learnings/ .. eof' +
Using the +
form of -exec
works similarly to xargs
: it builds the arguments to the specified command by appending all the found files.
answered Mar 30 at 21:22
chorobachoroba
27.1k45176
27.1k45176
add a comment |
add a comment |
With the GNU implementation of sed
, you can use the -s
aka --separate
option for each file to be treated separately in that regard.
find . -name '*.org' -type f -exec sed -s '/* Learnings/,$!d' +
With awk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 found = 0; /* Learnings/ found = 1; found' +
add a comment |
With the GNU implementation of sed
, you can use the -s
aka --separate
option for each file to be treated separately in that regard.
find . -name '*.org' -type f -exec sed -s '/* Learnings/,$!d' +
With awk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 found = 0; /* Learnings/ found = 1; found' +
add a comment |
With the GNU implementation of sed
, you can use the -s
aka --separate
option for each file to be treated separately in that regard.
find . -name '*.org' -type f -exec sed -s '/* Learnings/,$!d' +
With awk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 found = 0; /* Learnings/ found = 1; found' +
With the GNU implementation of sed
, you can use the -s
aka --separate
option for each file to be treated separately in that regard.
find . -name '*.org' -type f -exec sed -s '/* Learnings/,$!d' +
With awk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 found = 0; /* Learnings/ found = 1; found' +
answered Mar 30 at 21:28
Stéphane ChazelasStéphane Chazelas
314k57594952
314k57594952
add a comment |
add a comment |
Unless this is some kind of homework ;-), you can use the same trick as here with GNU or *BSD grep:
grep -hrFA 10000 '* Learnings' directory
Replace 10000 with something bigger if your files have more than 10000 lines.
add a comment |
Unless this is some kind of homework ;-), you can use the same trick as here with GNU or *BSD grep:
grep -hrFA 10000 '* Learnings' directory
Replace 10000 with something bigger if your files have more than 10000 lines.
add a comment |
Unless this is some kind of homework ;-), you can use the same trick as here with GNU or *BSD grep:
grep -hrFA 10000 '* Learnings' directory
Replace 10000 with something bigger if your files have more than 10000 lines.
Unless this is some kind of homework ;-), you can use the same trick as here with GNU or *BSD grep:
grep -hrFA 10000 '* Learnings' directory
Replace 10000 with something bigger if your files have more than 10000 lines.
answered Mar 31 at 17:53
mosvymosvy
9,69711036
9,69711036
add a comment |
add a comment |
examine it in gnu sed,
find ~/org/journal -iname "*.org" -type f -exec sed -nE '/*sLearnings/,$ p' '' +
to really edit and save it, with the origin in a file with .o extension,
find ~/org/journal -iname "*.org" -type f -exec sed -i.o -nE '/*sLearnings/,$ p' '' +
add a comment |
examine it in gnu sed,
find ~/org/journal -iname "*.org" -type f -exec sed -nE '/*sLearnings/,$ p' '' +
to really edit and save it, with the origin in a file with .o extension,
find ~/org/journal -iname "*.org" -type f -exec sed -i.o -nE '/*sLearnings/,$ p' '' +
add a comment |
examine it in gnu sed,
find ~/org/journal -iname "*.org" -type f -exec sed -nE '/*sLearnings/,$ p' '' +
to really edit and save it, with the origin in a file with .o extension,
find ~/org/journal -iname "*.org" -type f -exec sed -i.o -nE '/*sLearnings/,$ p' '' +
examine it in gnu sed,
find ~/org/journal -iname "*.org" -type f -exec sed -nE '/*sLearnings/,$ p' '' +
to really edit and save it, with the origin in a file with .o extension,
find ~/org/journal -iname "*.org" -type f -exec sed -i.o -nE '/*sLearnings/,$ p' '' +
answered Apr 4 at 14:04
abdanabdan
494
494
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%2f509619%2fhow-to-sed-chunks-text-from-a-stream-of-files-from-find%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
What output do you expect/need?
– choroba
Mar 30 at 18:50
@choroba added expected output
– kevzettler
Mar 30 at 21:08