How find line containing string print it + x lines after












0















I have a log that constantly throws data to the screen. I need to catch a line that contains a certain string, print it and the next 5 lines afterward.
It easy to do with a static file like:
grep -A 5 "XXX" /mnt/flash/logs/system/messages










share|improve this question























  • Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

    – barlop
    Jan 20 at 14:07













  • Also, re your question, what about putting that grep line in a loop?

    – barlop
    Jan 20 at 14:08











  • Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

    – barlop
    Jan 20 at 14:09
















0















I have a log that constantly throws data to the screen. I need to catch a line that contains a certain string, print it and the next 5 lines afterward.
It easy to do with a static file like:
grep -A 5 "XXX" /mnt/flash/logs/system/messages










share|improve this question























  • Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

    – barlop
    Jan 20 at 14:07













  • Also, re your question, what about putting that grep line in a loop?

    – barlop
    Jan 20 at 14:08











  • Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

    – barlop
    Jan 20 at 14:09














0












0








0








I have a log that constantly throws data to the screen. I need to catch a line that contains a certain string, print it and the next 5 lines afterward.
It easy to do with a static file like:
grep -A 5 "XXX" /mnt/flash/logs/system/messages










share|improve this question














I have a log that constantly throws data to the screen. I need to catch a line that contains a certain string, print it and the next 5 lines afterward.
It easy to do with a static file like:
grep -A 5 "XXX" /mnt/flash/logs/system/messages







grep






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 20 at 13:58









DanielDaniel

6




6













  • Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

    – barlop
    Jan 20 at 14:07













  • Also, re your question, what about putting that grep line in a loop?

    – barlop
    Jan 20 at 14:08











  • Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

    – barlop
    Jan 20 at 14:09



















  • Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

    – barlop
    Jan 20 at 14:07













  • Also, re your question, what about putting that grep line in a loop?

    – barlop
    Jan 20 at 14:08











  • Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

    – barlop
    Jan 20 at 14:09

















Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

– barlop
Jan 20 at 14:07







Your title should say that the file keeps changing.. You show in your question that you know the answer to the question asked in your title (grep -A). But the body of the question shows that you mean for a file that is changing.

– barlop
Jan 20 at 14:07















Also, re your question, what about putting that grep line in a loop?

– barlop
Jan 20 at 14:08





Also, re your question, what about putting that grep line in a loop?

– barlop
Jan 20 at 14:08













Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

– barlop
Jan 20 at 14:09





Also, since you know how to print lines after a string (e.g. grep -A 5) Why don't you just ask how to find and print a line of a file that keeps changing? (And forget about asking about lines after 'cos you already know that).

– barlop
Jan 20 at 14:09










1 Answer
1






active

oldest

votes


















1














tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"


About tail -f:




-f

If the input file is a regular file or if the file operand specifies a FIFO, do not terminate after the last line of the input file has been copied, but read and copy further bytes from the input file when they become available. […]




You already know grep -A. Note it's not portable (-A is not required by POSIX) while tail -f is.



Since it's common to rotate logs, you may find find --follow=name approach more useful. Your find may or may not support it, check man 1 find in your OS.






share|improve this answer

























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    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: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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%2fsuperuser.com%2fquestions%2f1396316%2fhow-find-line-containing-string-print-it-x-lines-after%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"


    About tail -f:




    -f

    If the input file is a regular file or if the file operand specifies a FIFO, do not terminate after the last line of the input file has been copied, but read and copy further bytes from the input file when they become available. […]




    You already know grep -A. Note it's not portable (-A is not required by POSIX) while tail -f is.



    Since it's common to rotate logs, you may find find --follow=name approach more useful. Your find may or may not support it, check man 1 find in your OS.






    share|improve this answer






























      1














      tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"


      About tail -f:




      -f

      If the input file is a regular file or if the file operand specifies a FIFO, do not terminate after the last line of the input file has been copied, but read and copy further bytes from the input file when they become available. […]




      You already know grep -A. Note it's not portable (-A is not required by POSIX) while tail -f is.



      Since it's common to rotate logs, you may find find --follow=name approach more useful. Your find may or may not support it, check man 1 find in your OS.






      share|improve this answer




























        1












        1








        1







        tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"


        About tail -f:




        -f

        If the input file is a regular file or if the file operand specifies a FIFO, do not terminate after the last line of the input file has been copied, but read and copy further bytes from the input file when they become available. […]




        You already know grep -A. Note it's not portable (-A is not required by POSIX) while tail -f is.



        Since it's common to rotate logs, you may find find --follow=name approach more useful. Your find may or may not support it, check man 1 find in your OS.






        share|improve this answer















        tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"


        About tail -f:




        -f

        If the input file is a regular file or if the file operand specifies a FIFO, do not terminate after the last line of the input file has been copied, but read and copy further bytes from the input file when they become available. […]




        You already know grep -A. Note it's not portable (-A is not required by POSIX) while tail -f is.



        Since it's common to rotate logs, you may find find --follow=name approach more useful. Your find may or may not support it, check man 1 find in your OS.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Jan 20 at 14:58

























        answered Jan 20 at 14:38









        Kamil MaciorowskiKamil Maciorowski

        27.8k156184




        27.8k156184






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • 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%2fsuperuser.com%2fquestions%2f1396316%2fhow-find-line-containing-string-print-it-x-lines-after%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

            Plaza Victoria

            In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

            How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...