How to sed chunks text from a stream of files from find The Next CEO of Stack OverflowUse 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?

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

Easy to read palindrome checker

How a 64-bit process virtual address space is divided in Linux?

How many extra stops do monopods offer for tele photographs?

Chain wire methods together in Lightning Web Components

Why is my new battery behaving weirdly?

How to sed chunks text from a stream of files from find

Is a distribution that is normal, but highly skewed considered Gaussian?

Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?

Solving system of ODEs with extra parameter

Newlines in BSD sed vs gsed

is it ok to reduce charging current for li ion 18650 battery?

Why does the flight controls check come before arming the autobrake on the A320?

Recycling old answers

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

Break Away Valves for Launch

Which one is the true statement?

Flying from Cape Town to England and return to another province

Where do students learn to solve polynomial equations these days?

Powershell. How to parse gci Name?

Can a Bladesinger Wizard use Bladesong with a Hand Crossbow?

Unclear about dynamic binding

How to place nodes around a circle from some initial angle?

How to install OpenCV on Raspbian Stretch?



How to sed chunks text from a stream of files from find



The Next CEO of Stack OverflowUse 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?










2















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










share|improve this question
























  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    2 hours ago















2















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










share|improve this question
























  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    2 hours ago













2












2








2








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










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 hours ago







kevzettler

















asked 4 hours ago









kevzettlerkevzettler

14817




14817












  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    2 hours ago

















  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    2 hours ago
















What output do you expect/need?

– choroba
4 hours ago





What output do you expect/need?

– choroba
4 hours ago













@choroba added expected output

– kevzettler
2 hours ago





@choroba added expected output

– kevzettler
2 hours ago










2 Answers
2






active

oldest

votes


















2














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.






share|improve this answer






























    2














    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' +





    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%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

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      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.






      share|improve this answer



























        2














        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.






        share|improve this answer

























          2












          2








          2







          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.






          share|improve this answer













          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.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 1 hour ago









          chorobachoroba

          27k45176




          27k45176























              2














              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' +





              share|improve this answer



























                2














                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' +





                share|improve this answer

























                  2












                  2








                  2







                  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' +





                  share|improve this answer













                  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' +






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 1 hour ago









                  Stéphane ChazelasStéphane Chazelas

                  312k57589946




                  312k57589946



























                      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%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





















































                      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

                      How should I use the fbox command correctly to avoid producing a Bad Box message?How to put a long piece of text in a box?How to specify height and width of fboxIs there an arrayrulecolor-like command to change the rule color of fbox?What is the command to highlight bad boxes in pdf?Why does fbox sometimes place the box *over* the graphic image?how to put the text in the boxHow to create command for a box where text inside the box can automatically adjust?how can I make an fbox like command with certain color, shape and width of border?how to use fbox in align modeFbox increase the spacing between the box and it content (inner margin)how to change the box height of an equationWhat is the use of the hbox in a newcommand command?

                      Doxepinum Nexus interni Notae | Tabula navigationis3158DB01142WHOa682390"Structural Analysis of the Histamine H1 Receptor""Transdermal and Topical Drug Administration in the Treatment of Pain""Antidepressants as antipruritic agents: A review"

                      inputenc: Unicode character … not set up for use with LaTeX The Next CEO of Stack OverflowEntering Unicode characters in LaTeXHow to solve the `Package inputenc Error: Unicode char not set up for use with LaTeX` problem?solve “Unicode char is not set up for use with LaTeX” without special handling of every new interesting UTF-8 characterPackage inputenc Error: Unicode character ² (U+B2)(inputenc) not set up for use with LaTeX. acroI2C[I²C]package inputenc error unicode char (u + 190) not set up for use with latexPackage inputenc Error: Unicode char u8:′ not set up for use with LaTeX. 3′inputenc Error: Unicode char u8: not set up for use with LaTeX with G-BriefPackage Inputenc Error: Unicode char u8: not set up for use with LaTeXPackage inputenc Error: Unicode char ́ (U+301)(inputenc) not set up for use with LaTeX. includePackage inputenc Error: Unicode char ̂ (U+302)(inputenc) not set up for use with LaTeX. … $widehatleft (OA,AA' right )$Package inputenc Error: Unicode char â„¡ (U+2121)(inputenc) not set up for use with LaTeX. printbibliography[heading=bibintoc]Package inputenc Error: Unicode char − (U+2212)(inputenc) not set up for use with LaTeXPackage inputenc Error: Unicode character α (U+3B1) not set up for use with LaTeXPackage inputenc Error: Unicode characterError: ! Package inputenc Error: Unicode char ⊘ (U+2298)(inputenc) not set up for use with LaTeX