How to sed chunks text from a stream of files from find The Next CEO of Stack OverflowUse...

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

Why is information "lost" when it got into a black hole?

Why is my new battery behaving weirdly?

The exact meaning of 'Mom made me a sandwich'

Plot of histogram similar to output from @risk

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

Reference request: Grassmannian and Plucker coordinates in type B, C, D

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

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

0 rank tensor vs 1D vector

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

How to scale a tikZ image which is within a figure environment

Is micro rebar a better way to reinforce concrete than rebar?

Is French Guiana a (hard) EU border?

Recycling old answers

Can a Bladesinger Wizard use Bladesong with a Hand Crossbow?

Does soap repel water?

How did people program for Consoles with multiple CPUs?

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

Flying from Cape Town to England and return to another province

What connection does MS Office have to Netscape Navigator?

Why is quantifier elimination desirable for a given theory?

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

Domestic-to-international connection at Orlando (MCO)



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

                      Installing LyX: “No textclass is found.”LyX installation error- text class not found- 'Reconfigure' or...

                      (1602) Indiana Índice Designación y nombre Características orbitales Véase...

                      Universidad Autónoma de Occidente Índice Historia Campus Facultades Programas Académicos Medios de...