Using bash to export an comma separated list to html

Multi tool use
Multi tool use

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











up vote
2
down vote

favorite












I've got a cxomma-separated csv that i want to turn into custom html, and i ran into another script which did it, but it's been nothing but issues for me since i use https://www.tutorialspoint.com/execute_bash_online.php to run it.



Here's the script i found: https://unix.stackexchange.com/questions/105501/convert-csv-to-html-table



My problem is that my output needs to be a bit different, and something about ECHO is really putting up a fight .. So here's an example of my list:




Product,100 usd
Now using this script I want to convert that to look like:
Product100 usd




Basically separating the list into 2 cells. But echo keeps stripping out "'s so it's just a mess .. I dont know if it's because the bash emulator wraps lines, but i keep getting errors, where it seems to assume >< and tr as well as td is a command.



Currently my script looks like this, and it reflects how much i've stuggled with echo..:



while read INPUT ; do
echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
echo ""onmouseout="this.style.backgroundColor='#d4e3e5';>";
echo ""<td>$INPUT//,/</td><td><b></b></td></tr>";""
done


And that generates:



$bash -f main.sh
main.sh: line 2: tr: No such file or directory
main.sh: line 4: ;
echo <td>six</td><td><b>nine</td><td><b>twelve</b></td></tr>: No such file or directory
main.sh: line 4: : command not found


I've experimented like crazy with echo, but now I'm at my wit's end .. any and all help greatly and gratefully accepted =)










share|improve this question

























    up vote
    2
    down vote

    favorite












    I've got a cxomma-separated csv that i want to turn into custom html, and i ran into another script which did it, but it's been nothing but issues for me since i use https://www.tutorialspoint.com/execute_bash_online.php to run it.



    Here's the script i found: https://unix.stackexchange.com/questions/105501/convert-csv-to-html-table



    My problem is that my output needs to be a bit different, and something about ECHO is really putting up a fight .. So here's an example of my list:




    Product,100 usd
    Now using this script I want to convert that to look like:
    Product100 usd




    Basically separating the list into 2 cells. But echo keeps stripping out "'s so it's just a mess .. I dont know if it's because the bash emulator wraps lines, but i keep getting errors, where it seems to assume >< and tr as well as td is a command.



    Currently my script looks like this, and it reflects how much i've stuggled with echo..:



    while read INPUT ; do
    echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
    echo ""onmouseout="this.style.backgroundColor='#d4e3e5';>";
    echo ""<td>$INPUT//,/</td><td><b></b></td></tr>";""
    done


    And that generates:



    $bash -f main.sh
    main.sh: line 2: tr: No such file or directory
    main.sh: line 4: ;
    echo <td>six</td><td><b>nine</td><td><b>twelve</b></td></tr>: No such file or directory
    main.sh: line 4: : command not found


    I've experimented like crazy with echo, but now I'm at my wit's end .. any and all help greatly and gratefully accepted =)










    share|improve this question























      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      I've got a cxomma-separated csv that i want to turn into custom html, and i ran into another script which did it, but it's been nothing but issues for me since i use https://www.tutorialspoint.com/execute_bash_online.php to run it.



      Here's the script i found: https://unix.stackexchange.com/questions/105501/convert-csv-to-html-table



      My problem is that my output needs to be a bit different, and something about ECHO is really putting up a fight .. So here's an example of my list:




      Product,100 usd
      Now using this script I want to convert that to look like:
      Product100 usd




      Basically separating the list into 2 cells. But echo keeps stripping out "'s so it's just a mess .. I dont know if it's because the bash emulator wraps lines, but i keep getting errors, where it seems to assume >< and tr as well as td is a command.



      Currently my script looks like this, and it reflects how much i've stuggled with echo..:



      while read INPUT ; do
      echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
      echo ""onmouseout="this.style.backgroundColor='#d4e3e5';>";
      echo ""<td>$INPUT//,/</td><td><b></b></td></tr>";""
      done


      And that generates:



      $bash -f main.sh
      main.sh: line 2: tr: No such file or directory
      main.sh: line 4: ;
      echo <td>six</td><td><b>nine</td><td><b>twelve</b></td></tr>: No such file or directory
      main.sh: line 4: : command not found


      I've experimented like crazy with echo, but now I'm at my wit's end .. any and all help greatly and gratefully accepted =)










      share|improve this question













      I've got a cxomma-separated csv that i want to turn into custom html, and i ran into another script which did it, but it's been nothing but issues for me since i use https://www.tutorialspoint.com/execute_bash_online.php to run it.



      Here's the script i found: https://unix.stackexchange.com/questions/105501/convert-csv-to-html-table



      My problem is that my output needs to be a bit different, and something about ECHO is really putting up a fight .. So here's an example of my list:




      Product,100 usd
      Now using this script I want to convert that to look like:
      Product100 usd




      Basically separating the list into 2 cells. But echo keeps stripping out "'s so it's just a mess .. I dont know if it's because the bash emulator wraps lines, but i keep getting errors, where it seems to assume >< and tr as well as td is a command.



      Currently my script looks like this, and it reflects how much i've stuggled with echo..:



      while read INPUT ; do
      echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
      echo ""onmouseout="this.style.backgroundColor='#d4e3e5';>";
      echo ""<td>$INPUT//,/</td><td><b></b></td></tr>";""
      done


      And that generates:



      $bash -f main.sh
      main.sh: line 2: tr: No such file or directory
      main.sh: line 4: ;
      echo <td>six</td><td><b>nine</td><td><b>twelve</b></td></tr>: No such file or directory
      main.sh: line 4: : command not found


      I've experimented like crazy with echo, but now I'm at my wit's end .. any and all help greatly and gratefully accepted =)







      bash shell html css






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      Aryat Mapreh

      134




      134




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          3
          down vote













          Your quoting is wrong, specifically the double double-quotes.



          Let's break down what you have, the bits concatenated together



          echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";


          1. the echo command

          2. an empty string ""

          3. a redirection <tr -- this is where the "file not found" error comes from

          4. a space

          5. a string onmouseover="this.style.backgroundColor='#ffff66';"

          6. an open quote and semicolon, the first character of the next string

          To fix your echo commands:



          while read INPUT ; do
          echo "<tr onmouseover="this.style.backgroundColor='#ffff66'""
          echo "onmouseout="this.style.backgroundColor='#d4e3e5'>"
          echo "<td>$INPUT//,/</td><td><b></b></td></tr>"
          done


          When you have a blend of single and double quotes, a heredoc is very readable. Also, use the read command to separate your CSV line.



          while IFS=, read -r first second ; do
          echo <<END_HTML
          <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'">
          <td>$first</td><td><b>$second</b></td>
          </tr>
          END_HTML
          done





          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',
            convertImagesToLinks: true,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            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%2f1368590%2fusing-bash-to-export-an-comma-separated-list-to-html%23new-answer', 'question_page');

            );

            Post as a guest






























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            3
            down vote













            Your quoting is wrong, specifically the double double-quotes.



            Let's break down what you have, the bits concatenated together



            echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";


            1. the echo command

            2. an empty string ""

            3. a redirection <tr -- this is where the "file not found" error comes from

            4. a space

            5. a string onmouseover="this.style.backgroundColor='#ffff66';"

            6. an open quote and semicolon, the first character of the next string

            To fix your echo commands:



            while read INPUT ; do
            echo "<tr onmouseover="this.style.backgroundColor='#ffff66'""
            echo "onmouseout="this.style.backgroundColor='#d4e3e5'>"
            echo "<td>$INPUT//,/</td><td><b></b></td></tr>"
            done


            When you have a blend of single and double quotes, a heredoc is very readable. Also, use the read command to separate your CSV line.



            while IFS=, read -r first second ; do
            echo <<END_HTML
            <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'">
            <td>$first</td><td><b>$second</b></td>
            </tr>
            END_HTML
            done





            share|improve this answer
























              up vote
              3
              down vote













              Your quoting is wrong, specifically the double double-quotes.



              Let's break down what you have, the bits concatenated together



              echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";


              1. the echo command

              2. an empty string ""

              3. a redirection <tr -- this is where the "file not found" error comes from

              4. a space

              5. a string onmouseover="this.style.backgroundColor='#ffff66';"

              6. an open quote and semicolon, the first character of the next string

              To fix your echo commands:



              while read INPUT ; do
              echo "<tr onmouseover="this.style.backgroundColor='#ffff66'""
              echo "onmouseout="this.style.backgroundColor='#d4e3e5'>"
              echo "<td>$INPUT//,/</td><td><b></b></td></tr>"
              done


              When you have a blend of single and double quotes, a heredoc is very readable. Also, use the read command to separate your CSV line.



              while IFS=, read -r first second ; do
              echo <<END_HTML
              <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'">
              <td>$first</td><td><b>$second</b></td>
              </tr>
              END_HTML
              done





              share|improve this answer






















                up vote
                3
                down vote










                up vote
                3
                down vote









                Your quoting is wrong, specifically the double double-quotes.



                Let's break down what you have, the bits concatenated together



                echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";


                1. the echo command

                2. an empty string ""

                3. a redirection <tr -- this is where the "file not found" error comes from

                4. a space

                5. a string onmouseover="this.style.backgroundColor='#ffff66';"

                6. an open quote and semicolon, the first character of the next string

                To fix your echo commands:



                while read INPUT ; do
                echo "<tr onmouseover="this.style.backgroundColor='#ffff66'""
                echo "onmouseout="this.style.backgroundColor='#d4e3e5'>"
                echo "<td>$INPUT//,/</td><td><b></b></td></tr>"
                done


                When you have a blend of single and double quotes, a heredoc is very readable. Also, use the read command to separate your CSV line.



                while IFS=, read -r first second ; do
                echo <<END_HTML
                <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'">
                <td>$first</td><td><b>$second</b></td>
                </tr>
                END_HTML
                done





                share|improve this answer












                Your quoting is wrong, specifically the double double-quotes.



                Let's break down what you have, the bits concatenated together



                echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";


                1. the echo command

                2. an empty string ""

                3. a redirection <tr -- this is where the "file not found" error comes from

                4. a space

                5. a string onmouseover="this.style.backgroundColor='#ffff66';"

                6. an open quote and semicolon, the first character of the next string

                To fix your echo commands:



                while read INPUT ; do
                echo "<tr onmouseover="this.style.backgroundColor='#ffff66'""
                echo "onmouseout="this.style.backgroundColor='#d4e3e5'>"
                echo "<td>$INPUT//,/</td><td><b></b></td></tr>"
                done


                When you have a blend of single and double quotes, a heredoc is very readable. Also, use the read command to separate your CSV line.



                while IFS=, read -r first second ; do
                echo <<END_HTML
                <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'">
                <td>$first</td><td><b>$second</b></td>
                </tr>
                END_HTML
                done






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 26 mins ago









                glenn jackman

                15.3k12643




                15.3k12643



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1368590%2fusing-bash-to-export-an-comma-separated-list-to-html%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    i,QCl 8AXqFLkctTqCZ 0R5CVK,WG6vPwCo
                    Jfu6SaawsoBKstxsseiOP0LRh,KVT2ccJPS JTtJqVIc9fSx02wUACERw7pGHP4lRS 8w0uDERuU6s

                    Popular posts from this blog

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

                    How many registers does an x86_64 CPU actually have?

                    Displaying single band from multi-band raster using QGIS