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?

Would be okay to drive on this tire?

What steps are necessary to read a Modern SSD in Medieval Europe?

Is it okay to majorly distort historical facts while writing a fiction story?

Is it professional to write unrelated content in an almost-empty email?

Is there a difference between "Fahrstuhl" and "Aufzug"

Math-accent symbol over parentheses enclosing accented symbol (amsmath)

Where do students learn to solve polynomial equations these days?

A Man With a Stainless Steel Endoskeleton (like The Terminator) Fighting Cloaked Aliens Only He Can See

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

How do I align (1) and (2)?

Why did CATV standarize in 75 ohms and everyone else in 50?

Why doesn't UK go for the same deal Japan has with EU to resolve Brexit?

Flying from Cape Town to England and return to another province

How to get from Geneva Airport to Metabief?

Why do remote US companies require working in the US?

Need help understanding a power circuit (caps and diodes)

Is there always a complete, orthogonal set of unitary matrices?

How to avoid supervisors with prejudiced views?

Why this way of making earth uninhabitable in Interstellar?

Why isn't the Mueller report being released completely and unredacted?

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

What did we know about the Kessel run before the prequels?

Why is my new battery behaving weirdly?

Recycling old answers



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
    1 hour 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
    1 hour 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 1 hour ago







kevzettler

















asked 4 hours ago









kevzettlerkevzettler

14817




14817












  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    1 hour ago

















  • What output do you expect/need?

    – choroba
    4 hours ago











  • @choroba added expected output

    – kevzettler
    1 hour 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
1 hour ago





@choroba added expected output

– kevzettler
1 hour 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

                      Saint-André (Pyrenaeus Orientalis) Nexus interni Nexus externi | Tabula navigationisOpenStreetMapGeoNames66168De hoc commune apud cassini.ehess.frHuius communis pagina interretialisAmplifica

                      Constantinus Vanšenkin Nexus externi | Tabula navigationisБольшая российская энциклопедияAmplifica

                      Montigny (Ligerula) Nexus interni Nexus externi | Tabula navigationisGeoNames45214Amplifica