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?

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

Why didn't Khan get resurrected in the Genesis Explosion?

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

Make solar eclipses exceedingly rare, but still have new moons

Powershell. How to parse gci Name?

Is it ever safe to open a suspicious HTML file (e.g. email attachment)?

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

RigExpert AA-35 - Interpreting The Information

WOW air has ceased operation, can I get my tickets refunded?

Is it convenient to ask the journal's editor for 2 additional days to complete a review?

Should I tutor a student who I know has cheated on their homework?

Is wanting to ask what to write an indication that you need to change your story?

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

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

Is French Guiana a (hard) EU border?

Need help understanding a power circuit (caps and diodes)

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

Easy to read palindrome checker

Does Germany produce more waste than the US?

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

Is it possible to replace duplicates of a character with one character using tr

How many extra stops do monopods offer for tele photographs?

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

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



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 5 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 2 hours 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 2 hours 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

                      Reverse int within the 32-bit signed integer range: [−2^31, 2^31 − 1]Combining two 32-bit integers into one 64-bit integerDetermine if an int is within rangeLossy packing 32 bit integer to 16 bitComputing the square root of a 64-bit integerKeeping integer addition within boundsSafe multiplication of two 64-bit signed integersLeetcode 10: Regular Expression MatchingSigned integer-to-ascii x86_64 assembler macroReverse the digits of an Integer“Add two numbers given in reverse order from a linked list”

                      Category:Fedor von Bock Media in category "Fedor von Bock"Navigation menuUpload mediaISNI: 0000 0000 5511 3417VIAF ID: 24712551GND ID: 119294796Library of Congress authority ID: n96068363BnF ID: 12534305fSUDOC authorities ID: 034604189Open Library ID: OL338253ANKCR AUT ID: jn19990000869National Library of Israel ID: 000514068National Thesaurus for Author Names ID: 341574317ReasonatorScholiaStatistics

                      Kiel Indholdsfortegnelse Historie | Transport og færgeforbindelser | Sejlsport og anden sport | Kultur | Kendte personer fra Kiel | Noter | Litteratur | Eksterne henvisninger | Navigationsmenuwww.kiel.de54°19′31″N 10°8′26″Ø / 54.32528°N 10.14056°Ø / 54.32528; 10.14056Oberbürgermeister Dr. Ulf Kämpferwww.statistik-nord.deDen danske Stats StatistikKiels hjemmesiderrrWorldCat312794080n790547494030481-4