Output redirection is not working with top piped to grep The Next CEO of Stack OverflowIn what order do piped commands run?Pipes & redirection binding precedence with disjuncts, conjuncts etc?Where does network waiting go in 'top'?append mode in Centos and UbuntuHow is the “load average” interpreted in “top” output? Is it the same for all distributions?Raspbian: problem with output redirection in udev scripttop command not workingWhy does total tasks listed in 'top' command output not equal running + sleeping?StdOut redirection not workingmulti-core CPU usage

Why doesn't a table tennis ball float on the surface? How do we calculate buoyancy here?

Can a caster that cast Polymorph on themselves stop concentrating at any point even if their Int is low?

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

Is HostGator storing my password in plaintext?

How to be diplomatic in refusing to write code that breaches the privacy of our users

How should I support this large drywall patch?

Anatomically Correct Strange Women In Ponds Distributing Swords

Apart from "berlinern", do any other German dialects have a corresponding verb?

% symbol leads to superlong (forever?) compilations

Anatomically Correct Mesopelagic Aves

Rotate a column

Shade part of a Venn diagram

What makes a siege story/plot interesting?

Why does standard notation not preserve intervals (visually)

Inappropriate reference requests from Journal reviewers

Are there languages with no euphemisms?

If the heap is initialized for security, then why is the stack uninitialized?

Is it safe to use c_str() on a temporary string?

Why do professional authors make "consistency" mistakes? And how to avoid them?

How do scammers retract money, while you can’t?

What does this shorthand mean?

How to write the block matrix in LaTex?

What is the difference between "behavior" and "behaviour"?

How to make a variable always equal to the result of some calculations?



Output redirection is not working with top piped to grep



The Next CEO of Stack OverflowIn what order do piped commands run?Pipes & redirection binding precedence with disjuncts, conjuncts etc?Where does network waiting go in 'top'?append mode in Centos and UbuntuHow is the “load average” interpreted in “top” output? Is it the same for all distributions?Raspbian: problem with output redirection in udev scripttop command not workingWhy does total tasks listed in 'top' command output not equal running + sleeping?StdOut redirection not workingmulti-core CPU usage










3















When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question







New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    yesterday






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    yesterday











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    yesterday












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    yesterday












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    yesterday















3















When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question







New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    yesterday






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    yesterday











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    yesterday












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    yesterday












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    yesterday













3












3








3


1






When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question







New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).







centos pipe io-redirection top






share|improve this question







New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









kurtkurt

1183




1183




New contributor




kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






kurt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    yesterday






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    yesterday











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    yesterday












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    yesterday












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    yesterday

















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    yesterday






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    yesterday











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    yesterday












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    yesterday












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    yesterday
















weird. In my Cento7 machine, both commands work well.

– JinChin
yesterday





weird. In my Cento7 machine, both commands work well.

– JinChin
yesterday




1




1





if you want only load average, why not use uptime ?

– Archemar
yesterday





if you want only load average, why not use uptime ?

– Archemar
yesterday













@Archemar What is the -A option of grep for?

– Uncle Billy
yesterday






@Archemar What is the -A option of grep for?

– Uncle Billy
yesterday














@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

– kurt
yesterday






@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

– kurt
yesterday














@UncleBilly Ah, yes that is the catch ...

– Archemar
yesterday





@UncleBilly Ah, yes that is the catch ...

– Archemar
yesterday










2 Answers
2






active

oldest

votes


















3














You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






share|improve this answer
































    -1














    You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



    ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



    or



    ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






    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
      );



      );






      kurt is a new contributor. Be nice, and check out our Code of Conduct.









      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f508935%2foutput-redirection-is-not-working-with-top-piped-to-grep%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









      3














      You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



      By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






      share|improve this answer





























        3














        You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



        By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






        share|improve this answer



























          3












          3








          3







          You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



          By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






          share|improve this answer















          You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



          By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited yesterday

























          answered yesterday









          Uncle BillyUncle Billy

          8778




          8778























              -1














              You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



              ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



              or



              ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






              share|improve this answer





























                -1














                You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                or



                ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






                share|improve this answer



























                  -1












                  -1








                  -1







                  You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                  ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                  or



                  ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






                  share|improve this answer















                  You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                  ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                  or



                  ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 23 hours ago

























                  answered yesterday









                  user2497user2497

                  588137




                  588137




















                      kurt is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      kurt is a new contributor. Be nice, and check out our Code of Conduct.












                      kurt is a new contributor. Be nice, and check out our Code of Conduct.











                      kurt is a new contributor. Be nice, and check out our Code of Conduct.














                      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%2f508935%2foutput-redirection-is-not-working-with-top-piped-to-grep%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

                      getting Checkpoint VPN SSL Network Extender working in the command lineHow to connect to CheckPoint VPN on Ubuntu 18.04LTS?Will the Linux ( red-hat ) Open VPNC Client connect to checkpoint or nortel VPN gateways?VPN client for linux machine + support checkpoint gatewayVPN SSL Network Extender in FirefoxLinux Checkpoint SNX tool configuration issuesCheck Point - Connect under Linux - snx + OTPSNX VPN Ububuntu 18.XXUsing Checkpoint VPN SSL Network Extender CLI with certificateVPN with network manager (nm-applet) is not workingWill the Linux ( red-hat ) Open VPNC Client connect to checkpoint or nortel VPN gateways?VPN client for linux machine + support checkpoint gatewayImport VPN config files to NetworkManager from command lineTrouble connecting to VPN using network-manager, while command line worksStart a VPN connection with PPTP protocol on command linestarting a docker service daemon breaks the vpn networkCan't connect to vpn with Network-managerVPN SSL Network Extender in FirefoxUsing Checkpoint VPN SSL Network Extender CLI with certificate

                      Cannot Extend partition with GParted The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election ResultsCan't increase partition size with GParted?GParted doesn't recognize the unallocated space after my current partitionWhat is the best way to add unallocated space located before to Ubuntu 12.04 partition with GParted live?I can't figure out how to extend my Arch home partition into free spaceGparted Linux Mint 18.1 issueTrying to extend but swap partition is showing as Unknown in Gparted, shows proper from fdiskRearrange partitions in gparted to extend a partitionUnable to extend partition even though unallocated space is next to it using GPartedAllocate free space to root partitiongparted: how to merge unallocated space with a partition

                      Marilyn Monroe Ny fiainany manokana | Jereo koa | Meny fitetezanafanitarana azy.