Command working in interactive shell, but not inside script

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0














I have a text file named crn.txt containing text below:



9 1 * * 3,6 /opt/testtingtools/kos/bin/cos.sh
55 23 * * * /opt/testtingtools/tqdaily.sh 2>>/opt/toolcheck/extract.err
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I need to delete the lines containing a word testtingtools and update crn.txt so that the output looks like this:



50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I am using the command



sed '/testtingtools/d' crn.txt 2>&1 | tee crn.txt


It works in bash or the command line, but not inside the script. I am using unix server (sun solaris).



One more command working in linux but not in unix:



echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt



"Not working" means it is not deleting a particular line, it empties the entire file when I use the code inside the script. But when I use the code in command line, it deletes the line containing testting word from crn.txt.










share|improve this question























  • In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
    – Jeff Schaller
    Dec 17 at 18:18















0














I have a text file named crn.txt containing text below:



9 1 * * 3,6 /opt/testtingtools/kos/bin/cos.sh
55 23 * * * /opt/testtingtools/tqdaily.sh 2>>/opt/toolcheck/extract.err
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I need to delete the lines containing a word testtingtools and update crn.txt so that the output looks like this:



50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I am using the command



sed '/testtingtools/d' crn.txt 2>&1 | tee crn.txt


It works in bash or the command line, but not inside the script. I am using unix server (sun solaris).



One more command working in linux but not in unix:



echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt



"Not working" means it is not deleting a particular line, it empties the entire file when I use the code inside the script. But when I use the code in command line, it deletes the line containing testting word from crn.txt.










share|improve this question























  • In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
    – Jeff Schaller
    Dec 17 at 18:18













0












0








0







I have a text file named crn.txt containing text below:



9 1 * * 3,6 /opt/testtingtools/kos/bin/cos.sh
55 23 * * * /opt/testtingtools/tqdaily.sh 2>>/opt/toolcheck/extract.err
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I need to delete the lines containing a word testtingtools and update crn.txt so that the output looks like this:



50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I am using the command



sed '/testtingtools/d' crn.txt 2>&1 | tee crn.txt


It works in bash or the command line, but not inside the script. I am using unix server (sun solaris).



One more command working in linux but not in unix:



echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt



"Not working" means it is not deleting a particular line, it empties the entire file when I use the code inside the script. But when I use the code in command line, it deletes the line containing testting word from crn.txt.










share|improve this question















I have a text file named crn.txt containing text below:



9 1 * * 3,6 /opt/testtingtools/kos/bin/cos.sh
55 23 * * * /opt/testtingtools/tqdaily.sh 2>>/opt/toolcheck/extract.err
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I need to delete the lines containing a word testtingtools and update crn.txt so that the output looks like this:



50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1


I am using the command



sed '/testtingtools/d' crn.txt 2>&1 | tee crn.txt


It works in bash or the command line, but not inside the script. I am using unix server (sun solaris).



One more command working in linux but not in unix:



echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt



"Not working" means it is not deleting a particular line, it empties the entire file when I use the code inside the script. But when I use the code in command line, it deletes the line containing testting word from crn.txt.







sed






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 17 at 15:19









Kusalananda

121k16229372




121k16229372










asked Dec 17 at 15:09









user327289

1




1











  • In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
    – Jeff Schaller
    Dec 17 at 18:18
















  • In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
    – Jeff Schaller
    Dec 17 at 18:18















In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
– Jeff Schaller
Dec 17 at 18:18




In order to edit your question and accept an answer, you should register this account (unix.stackexchange.com/users/327289/user327289) - it appears you've accidentally created two separate accounts to reply (1 and 2)
– Jeff Schaller
Dec 17 at 18:18










2 Answers
2






active

oldest

votes


















2














Solaris sed can not do in-place editing.



On Linux, you would have used



sed -i '/testtingtools/d' crn.txt


The portable way of doing it, which would work on both Solaris and Linux, is



cp crn.txt crn.tmp
sed '/testtingtools/d' <crn.tmp >crn.txt &&
rm crn.tmp


What's probably happening for you is that tee truncates the file before sed has a chance of reading from it, resulting in an empty file. Commands in a pipeline are run concurrently.



In general you'd want to avoid reading from a file that you are truncating in the same command, and instead use a temporary file. This is what sed -i does behind the scenes.



Likewise with your other command:



echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt


which is better written as



sed '/testtingtools/d' crn.txt >crn.txt


The first thing that would happen in any standard shell (on Linux and on Solaris), is that the shell sees the redirection and truncates the output file to zero size. Then it executes sed. This command would not work as expected on Linux nor on Solaris (if you expect it to edit the original file, that is).






share|improve this answer


















  • 1




    no -i in Solaris sed
    – Jeff Schaller
    Dec 17 at 15:26










  • @JeffSchaller Thanks Jeff.
    – Kusalananda
    Dec 17 at 15:26






  • 1




    I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
    – Jeff Schaller
    Dec 17 at 15:27







  • 1




    @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
    – Kusalananda
    Dec 17 at 15:28



















0














We can do it both sed and awk


awk method



awk '!/testtingtools/print $0' crn.txt >l.txt &&yes| mv l.txt crn.txt


output



 cat crn.txt
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1





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%2f489497%2fcommand-working-in-interactive-shell-but-not-inside-script%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














    Solaris sed can not do in-place editing.



    On Linux, you would have used



    sed -i '/testtingtools/d' crn.txt


    The portable way of doing it, which would work on both Solaris and Linux, is



    cp crn.txt crn.tmp
    sed '/testtingtools/d' <crn.tmp >crn.txt &&
    rm crn.tmp


    What's probably happening for you is that tee truncates the file before sed has a chance of reading from it, resulting in an empty file. Commands in a pipeline are run concurrently.



    In general you'd want to avoid reading from a file that you are truncating in the same command, and instead use a temporary file. This is what sed -i does behind the scenes.



    Likewise with your other command:



    echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt


    which is better written as



    sed '/testtingtools/d' crn.txt >crn.txt


    The first thing that would happen in any standard shell (on Linux and on Solaris), is that the shell sees the redirection and truncates the output file to zero size. Then it executes sed. This command would not work as expected on Linux nor on Solaris (if you expect it to edit the original file, that is).






    share|improve this answer


















    • 1




      no -i in Solaris sed
      – Jeff Schaller
      Dec 17 at 15:26










    • @JeffSchaller Thanks Jeff.
      – Kusalananda
      Dec 17 at 15:26






    • 1




      I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
      – Jeff Schaller
      Dec 17 at 15:27







    • 1




      @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
      – Kusalananda
      Dec 17 at 15:28
















    2














    Solaris sed can not do in-place editing.



    On Linux, you would have used



    sed -i '/testtingtools/d' crn.txt


    The portable way of doing it, which would work on both Solaris and Linux, is



    cp crn.txt crn.tmp
    sed '/testtingtools/d' <crn.tmp >crn.txt &&
    rm crn.tmp


    What's probably happening for you is that tee truncates the file before sed has a chance of reading from it, resulting in an empty file. Commands in a pipeline are run concurrently.



    In general you'd want to avoid reading from a file that you are truncating in the same command, and instead use a temporary file. This is what sed -i does behind the scenes.



    Likewise with your other command:



    echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt


    which is better written as



    sed '/testtingtools/d' crn.txt >crn.txt


    The first thing that would happen in any standard shell (on Linux and on Solaris), is that the shell sees the redirection and truncates the output file to zero size. Then it executes sed. This command would not work as expected on Linux nor on Solaris (if you expect it to edit the original file, that is).






    share|improve this answer


















    • 1




      no -i in Solaris sed
      – Jeff Schaller
      Dec 17 at 15:26










    • @JeffSchaller Thanks Jeff.
      – Kusalananda
      Dec 17 at 15:26






    • 1




      I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
      – Jeff Schaller
      Dec 17 at 15:27







    • 1




      @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
      – Kusalananda
      Dec 17 at 15:28














    2












    2








    2






    Solaris sed can not do in-place editing.



    On Linux, you would have used



    sed -i '/testtingtools/d' crn.txt


    The portable way of doing it, which would work on both Solaris and Linux, is



    cp crn.txt crn.tmp
    sed '/testtingtools/d' <crn.tmp >crn.txt &&
    rm crn.tmp


    What's probably happening for you is that tee truncates the file before sed has a chance of reading from it, resulting in an empty file. Commands in a pipeline are run concurrently.



    In general you'd want to avoid reading from a file that you are truncating in the same command, and instead use a temporary file. This is what sed -i does behind the scenes.



    Likewise with your other command:



    echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt


    which is better written as



    sed '/testtingtools/d' crn.txt >crn.txt


    The first thing that would happen in any standard shell (on Linux and on Solaris), is that the shell sees the redirection and truncates the output file to zero size. Then it executes sed. This command would not work as expected on Linux nor on Solaris (if you expect it to edit the original file, that is).






    share|improve this answer














    Solaris sed can not do in-place editing.



    On Linux, you would have used



    sed -i '/testtingtools/d' crn.txt


    The portable way of doing it, which would work on both Solaris and Linux, is



    cp crn.txt crn.tmp
    sed '/testtingtools/d' <crn.tmp >crn.txt &&
    rm crn.tmp


    What's probably happening for you is that tee truncates the file before sed has a chance of reading from it, resulting in an empty file. Commands in a pipeline are run concurrently.



    In general you'd want to avoid reading from a file that you are truncating in the same command, and instead use a temporary file. This is what sed -i does behind the scenes.



    Likewise with your other command:



    echo "$(sed '/testtingtools/d' crn.txt)" > crn.txt


    which is better written as



    sed '/testtingtools/d' crn.txt >crn.txt


    The first thing that would happen in any standard shell (on Linux and on Solaris), is that the shell sees the redirection and truncates the output file to zero size. Then it executes sed. This command would not work as expected on Linux nor on Solaris (if you expect it to edit the original file, that is).







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Dec 17 at 15:33

























    answered Dec 17 at 15:16









    Kusalananda

    121k16229372




    121k16229372







    • 1




      no -i in Solaris sed
      – Jeff Schaller
      Dec 17 at 15:26










    • @JeffSchaller Thanks Jeff.
      – Kusalananda
      Dec 17 at 15:26






    • 1




      I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
      – Jeff Schaller
      Dec 17 at 15:27







    • 1




      @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
      – Kusalananda
      Dec 17 at 15:28













    • 1




      no -i in Solaris sed
      – Jeff Schaller
      Dec 17 at 15:26










    • @JeffSchaller Thanks Jeff.
      – Kusalananda
      Dec 17 at 15:26






    • 1




      I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
      – Jeff Schaller
      Dec 17 at 15:27







    • 1




      @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
      – Kusalananda
      Dec 17 at 15:28








    1




    1




    no -i in Solaris sed
    – Jeff Schaller
    Dec 17 at 15:26




    no -i in Solaris sed
    – Jeff Schaller
    Dec 17 at 15:26












    @JeffSchaller Thanks Jeff.
    – Kusalananda
    Dec 17 at 15:26




    @JeffSchaller Thanks Jeff.
    – Kusalananda
    Dec 17 at 15:26




    1




    1




    I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
    – Jeff Schaller
    Dec 17 at 15:27





    I always like to plug Scott's version of this: cp input_file temp_file && command … temp_file > input_file && rm temp_file -- and that's what you already did!
    – Jeff Schaller
    Dec 17 at 15:27





    1




    1




    @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
    – Kusalananda
    Dec 17 at 15:28





    @JeffSchaller Almost, apart from the conditionals. It keeps the permissions/ownerships on the original file. Actually, the conditionals are not needed as a failure to cp the file would result in sed not running and the original file being left untouched. Hmm... a && before rm may be prudent however.
    – Kusalananda
    Dec 17 at 15:28














    0














    We can do it both sed and awk


    awk method



    awk '!/testtingtools/print $0' crn.txt >l.txt &&yes| mv l.txt crn.txt


    output



     cat crn.txt
    50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
    55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
    56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
    30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1





    share|improve this answer

























      0














      We can do it both sed and awk


      awk method



      awk '!/testtingtools/print $0' crn.txt >l.txt &&yes| mv l.txt crn.txt


      output



       cat crn.txt
      50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
      55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
      56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
      30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1





      share|improve this answer























        0












        0








        0






        We can do it both sed and awk


        awk method



        awk '!/testtingtools/print $0' crn.txt >l.txt &&yes| mv l.txt crn.txt


        output



         cat crn.txt
        50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
        55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
        56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
        30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1





        share|improve this answer












        We can do it both sed and awk


        awk method



        awk '!/testtingtools/print $0' crn.txt >l.txt &&yes| mv l.txt crn.txt


        output



         cat crn.txt
        50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
        55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
        56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
        30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 18 at 10:58









        Praveen Kumar BS

        1,196138




        1,196138



























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f489497%2fcommand-working-in-interactive-shell-but-not-inside-script%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

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?