Print SSH loop output Column wise

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





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I want to print output of below loop into columns, Can anybody please adivse me on this.



#!/bin/bash
DATE=`date "+%d-%m-%Y_%H-%M-%S"`

### Find User from Server with Expiry Date
for i in `cat /home/sandeepj/Project_user_count/serverlist2`;
do
echo -e "**********"
echo -e "$i"
ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
done >> /tmp/user_count.txt


Current Output :



********** 
10.25.59.3
root
bin
daemon
adm
lp
sync
**********
10.25.59.13
root
bin
daemon
adm
lp
sync


Expected Output:



********** **********
10.25.59.3 10.25.59.13
root root
bin bin
daemon daemon
adm adm
lp lp
sync sync


My Goal is to achieve above formatting.










share|improve this question
























  • how many columns do you expect to have ? is it fixed or is it ever growing ?

    – RoVo
    Mar 8 at 13:26











  • Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

    – Sandeep Singh
    Mar 8 at 13:47

















1















I want to print output of below loop into columns, Can anybody please adivse me on this.



#!/bin/bash
DATE=`date "+%d-%m-%Y_%H-%M-%S"`

### Find User from Server with Expiry Date
for i in `cat /home/sandeepj/Project_user_count/serverlist2`;
do
echo -e "**********"
echo -e "$i"
ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
done >> /tmp/user_count.txt


Current Output :



********** 
10.25.59.3
root
bin
daemon
adm
lp
sync
**********
10.25.59.13
root
bin
daemon
adm
lp
sync


Expected Output:



********** **********
10.25.59.3 10.25.59.13
root root
bin bin
daemon daemon
adm adm
lp lp
sync sync


My Goal is to achieve above formatting.










share|improve this question
























  • how many columns do you expect to have ? is it fixed or is it ever growing ?

    – RoVo
    Mar 8 at 13:26











  • Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

    – Sandeep Singh
    Mar 8 at 13:47













1












1








1








I want to print output of below loop into columns, Can anybody please adivse me on this.



#!/bin/bash
DATE=`date "+%d-%m-%Y_%H-%M-%S"`

### Find User from Server with Expiry Date
for i in `cat /home/sandeepj/Project_user_count/serverlist2`;
do
echo -e "**********"
echo -e "$i"
ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
done >> /tmp/user_count.txt


Current Output :



********** 
10.25.59.3
root
bin
daemon
adm
lp
sync
**********
10.25.59.13
root
bin
daemon
adm
lp
sync


Expected Output:



********** **********
10.25.59.3 10.25.59.13
root root
bin bin
daemon daemon
adm adm
lp lp
sync sync


My Goal is to achieve above formatting.










share|improve this question
















I want to print output of below loop into columns, Can anybody please adivse me on this.



#!/bin/bash
DATE=`date "+%d-%m-%Y_%H-%M-%S"`

### Find User from Server with Expiry Date
for i in `cat /home/sandeepj/Project_user_count/serverlist2`;
do
echo -e "**********"
echo -e "$i"
ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
done >> /tmp/user_count.txt


Current Output :



********** 
10.25.59.3
root
bin
daemon
adm
lp
sync
**********
10.25.59.13
root
bin
daemon
adm
lp
sync


Expected Output:



********** **********
10.25.59.3 10.25.59.13
root root
bin bin
daemon daemon
adm adm
lp lp
sync sync


My Goal is to achieve above formatting.







bash shell-script awk sed text-formatting






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 8 at 12:05









Jeff Schaller

44.7k1162145




44.7k1162145










asked Mar 8 at 11:49









Sandeep SinghSandeep Singh

85




85












  • how many columns do you expect to have ? is it fixed or is it ever growing ?

    – RoVo
    Mar 8 at 13:26











  • Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

    – Sandeep Singh
    Mar 8 at 13:47

















  • how many columns do you expect to have ? is it fixed or is it ever growing ?

    – RoVo
    Mar 8 at 13:26











  • Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

    – Sandeep Singh
    Mar 8 at 13:47
















how many columns do you expect to have ? is it fixed or is it ever growing ?

– RoVo
Mar 8 at 13:26





how many columns do you expect to have ? is it fixed or is it ever growing ?

– RoVo
Mar 8 at 13:26













Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

– Sandeep Singh
Mar 8 at 13:47





Hi Rovo, thanks for reply. It’s growing, depends on number of ip in loop list.

– Sandeep Singh
Mar 8 at 13:47










3 Answers
3






active

oldest

votes


















1














If you instead of



>> /tmp/user_count.txt


would write in a new file for each server:



do
(
printf '%sn%sn' '**********' "$i"
ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
) > "/tmp/user_count_$i.txt"
done


it would be very easy:



paste user_count_*.txt | column -tn





share|improve this answer
































    1














    The difficult bit with this question is actually to format the output in columns.



    Suppose that you have an existing file with|-delimited columns, and you want to append a new column to that. If you use paste as



    paste -d '|' file newdata


    and your file is not of the same length as the existing file, then the number of columns in the output will vary, and adding further columns would potentially make it even worse. Reading the final result would be difficult to do correctly.



    Instead, here's an awk program that reads an existing file, and adds the data read from standard input to a new column in that file. The output will have a fixed number of columns, all the way from the first line to the last, regardless of whether the new column data has fewer or more lines than the existing data.



    BEGIN OFS = FS 

    FNR == 1
    # We assume that all lines have the same number of columns.
    nf = NF



    # Read new column from stdin (clear col if failing).
    if ((getline col <"/dev/stdin") != 1)
    col = ""

    # Add new column (possibly empty) and print.
    $(nf + 1) = col
    print


    END
    # We only need to do something here if the new column
    # data is longer than the existing data.

    $0 = "" # Clear current line.

    # Add data from stdin until there is no more to read.
    while ((getline col <"/dev/stdin") == 1)
    $(nf + 1) = col
    print




    Ok, let us then use this to create a small shell script that will SSH over to a number of servers, whose names are listed in a file, and extract the users from the /etc/passwd file on each:



    #!/bin/sh

    outfile=/tmp/outfile
    serverlist=servers.list

    tmpfile=$( mktemp )

    while read -r server; do
    ssh -n "$server" cat /etc/passwd |
    cut -d : -f 1 |

    echo '****************'
    printf '%snn' "$server"
    cat
    |
    awk -F '|' -f append_column.awk "$tmpfile" >"$outfile"
    cp "$outfile" "$tmpfile"
    done <"$serverlist"

    awk -F '|' ' for (i=1; i<=NF; ++i) $i = sprintf("%-20s", $i); print ' "$tmpfile" >"$outfile"

    rm -f "$tmpfile"


    Here, append_column.awk is a file consisting of the awk program at the top of this answer.



    The script reads the $serverlist file in a loop and calls ssh -n to get the /etc/passwd file. The -n option is needed with ssh as ssh would otherwise read from the same $serverlist file as the loop is iterating over.



    The usernames are extracted using cut.



    The ... bit outputs a short header, and then passes on the usernames unmodified through a call to cat.



    The awk program is used to add columns to the output file by reading from a temporary file (which will contain the result collected so far), and the resulting data is copied back to the temporary file.



    After the end of the loop, the file in $tmpfile (as well as $output actually) will contain the data that you want as |-delimited fields. To clean this up, we call another short in-line awk script that formats the columns of the output file as left-justified, 20 character long, text fields.






    share|improve this answer
































      0














      You can try by below method



      for i in `cat serverlist`
      do
      echo " "| sed "s/.*/====================================/g"
      echo $i
      ssh -o 'StrictHostKeyChecking no' $i -A "cat /etc/passwd| awk -F ':' 'print $1'">$i_host_username_details.txt
      done
      paste *_host_username_details.txt





      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%2f505116%2fprint-ssh-loop-output-column-wise%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        1














        If you instead of



        >> /tmp/user_count.txt


        would write in a new file for each server:



        do
        (
        printf '%sn%sn' '**********' "$i"
        ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
        ) > "/tmp/user_count_$i.txt"
        done


        it would be very easy:



        paste user_count_*.txt | column -tn





        share|improve this answer





























          1














          If you instead of



          >> /tmp/user_count.txt


          would write in a new file for each server:



          do
          (
          printf '%sn%sn' '**********' "$i"
          ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
          ) > "/tmp/user_count_$i.txt"
          done


          it would be very easy:



          paste user_count_*.txt | column -tn





          share|improve this answer



























            1












            1








            1







            If you instead of



            >> /tmp/user_count.txt


            would write in a new file for each server:



            do
            (
            printf '%sn%sn' '**********' "$i"
            ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
            ) > "/tmp/user_count_$i.txt"
            done


            it would be very easy:



            paste user_count_*.txt | column -tn





            share|improve this answer















            If you instead of



            >> /tmp/user_count.txt


            would write in a new file for each server:



            do
            (
            printf '%sn%sn' '**********' "$i"
            ssh sandeepj@$i "awk -F: 'print $1' /etc/passwd"
            ) > "/tmp/user_count_$i.txt"
            done


            it would be very easy:



            paste user_count_*.txt | column -tn






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Mar 8 at 14:58

























            answered Mar 8 at 14:46









            RoVoRoVo

            3,477317




            3,477317























                1














                The difficult bit with this question is actually to format the output in columns.



                Suppose that you have an existing file with|-delimited columns, and you want to append a new column to that. If you use paste as



                paste -d '|' file newdata


                and your file is not of the same length as the existing file, then the number of columns in the output will vary, and adding further columns would potentially make it even worse. Reading the final result would be difficult to do correctly.



                Instead, here's an awk program that reads an existing file, and adds the data read from standard input to a new column in that file. The output will have a fixed number of columns, all the way from the first line to the last, regardless of whether the new column data has fewer or more lines than the existing data.



                BEGIN OFS = FS 

                FNR == 1
                # We assume that all lines have the same number of columns.
                nf = NF



                # Read new column from stdin (clear col if failing).
                if ((getline col <"/dev/stdin") != 1)
                col = ""

                # Add new column (possibly empty) and print.
                $(nf + 1) = col
                print


                END
                # We only need to do something here if the new column
                # data is longer than the existing data.

                $0 = "" # Clear current line.

                # Add data from stdin until there is no more to read.
                while ((getline col <"/dev/stdin") == 1)
                $(nf + 1) = col
                print




                Ok, let us then use this to create a small shell script that will SSH over to a number of servers, whose names are listed in a file, and extract the users from the /etc/passwd file on each:



                #!/bin/sh

                outfile=/tmp/outfile
                serverlist=servers.list

                tmpfile=$( mktemp )

                while read -r server; do
                ssh -n "$server" cat /etc/passwd |
                cut -d : -f 1 |

                echo '****************'
                printf '%snn' "$server"
                cat
                |
                awk -F '|' -f append_column.awk "$tmpfile" >"$outfile"
                cp "$outfile" "$tmpfile"
                done <"$serverlist"

                awk -F '|' ' for (i=1; i<=NF; ++i) $i = sprintf("%-20s", $i); print ' "$tmpfile" >"$outfile"

                rm -f "$tmpfile"


                Here, append_column.awk is a file consisting of the awk program at the top of this answer.



                The script reads the $serverlist file in a loop and calls ssh -n to get the /etc/passwd file. The -n option is needed with ssh as ssh would otherwise read from the same $serverlist file as the loop is iterating over.



                The usernames are extracted using cut.



                The ... bit outputs a short header, and then passes on the usernames unmodified through a call to cat.



                The awk program is used to add columns to the output file by reading from a temporary file (which will contain the result collected so far), and the resulting data is copied back to the temporary file.



                After the end of the loop, the file in $tmpfile (as well as $output actually) will contain the data that you want as |-delimited fields. To clean this up, we call another short in-line awk script that formats the columns of the output file as left-justified, 20 character long, text fields.






                share|improve this answer





























                  1














                  The difficult bit with this question is actually to format the output in columns.



                  Suppose that you have an existing file with|-delimited columns, and you want to append a new column to that. If you use paste as



                  paste -d '|' file newdata


                  and your file is not of the same length as the existing file, then the number of columns in the output will vary, and adding further columns would potentially make it even worse. Reading the final result would be difficult to do correctly.



                  Instead, here's an awk program that reads an existing file, and adds the data read from standard input to a new column in that file. The output will have a fixed number of columns, all the way from the first line to the last, regardless of whether the new column data has fewer or more lines than the existing data.



                  BEGIN OFS = FS 

                  FNR == 1
                  # We assume that all lines have the same number of columns.
                  nf = NF



                  # Read new column from stdin (clear col if failing).
                  if ((getline col <"/dev/stdin") != 1)
                  col = ""

                  # Add new column (possibly empty) and print.
                  $(nf + 1) = col
                  print


                  END
                  # We only need to do something here if the new column
                  # data is longer than the existing data.

                  $0 = "" # Clear current line.

                  # Add data from stdin until there is no more to read.
                  while ((getline col <"/dev/stdin") == 1)
                  $(nf + 1) = col
                  print




                  Ok, let us then use this to create a small shell script that will SSH over to a number of servers, whose names are listed in a file, and extract the users from the /etc/passwd file on each:



                  #!/bin/sh

                  outfile=/tmp/outfile
                  serverlist=servers.list

                  tmpfile=$( mktemp )

                  while read -r server; do
                  ssh -n "$server" cat /etc/passwd |
                  cut -d : -f 1 |

                  echo '****************'
                  printf '%snn' "$server"
                  cat
                  |
                  awk -F '|' -f append_column.awk "$tmpfile" >"$outfile"
                  cp "$outfile" "$tmpfile"
                  done <"$serverlist"

                  awk -F '|' ' for (i=1; i<=NF; ++i) $i = sprintf("%-20s", $i); print ' "$tmpfile" >"$outfile"

                  rm -f "$tmpfile"


                  Here, append_column.awk is a file consisting of the awk program at the top of this answer.



                  The script reads the $serverlist file in a loop and calls ssh -n to get the /etc/passwd file. The -n option is needed with ssh as ssh would otherwise read from the same $serverlist file as the loop is iterating over.



                  The usernames are extracted using cut.



                  The ... bit outputs a short header, and then passes on the usernames unmodified through a call to cat.



                  The awk program is used to add columns to the output file by reading from a temporary file (which will contain the result collected so far), and the resulting data is copied back to the temporary file.



                  After the end of the loop, the file in $tmpfile (as well as $output actually) will contain the data that you want as |-delimited fields. To clean this up, we call another short in-line awk script that formats the columns of the output file as left-justified, 20 character long, text fields.






                  share|improve this answer



























                    1












                    1








                    1







                    The difficult bit with this question is actually to format the output in columns.



                    Suppose that you have an existing file with|-delimited columns, and you want to append a new column to that. If you use paste as



                    paste -d '|' file newdata


                    and your file is not of the same length as the existing file, then the number of columns in the output will vary, and adding further columns would potentially make it even worse. Reading the final result would be difficult to do correctly.



                    Instead, here's an awk program that reads an existing file, and adds the data read from standard input to a new column in that file. The output will have a fixed number of columns, all the way from the first line to the last, regardless of whether the new column data has fewer or more lines than the existing data.



                    BEGIN OFS = FS 

                    FNR == 1
                    # We assume that all lines have the same number of columns.
                    nf = NF



                    # Read new column from stdin (clear col if failing).
                    if ((getline col <"/dev/stdin") != 1)
                    col = ""

                    # Add new column (possibly empty) and print.
                    $(nf + 1) = col
                    print


                    END
                    # We only need to do something here if the new column
                    # data is longer than the existing data.

                    $0 = "" # Clear current line.

                    # Add data from stdin until there is no more to read.
                    while ((getline col <"/dev/stdin") == 1)
                    $(nf + 1) = col
                    print




                    Ok, let us then use this to create a small shell script that will SSH over to a number of servers, whose names are listed in a file, and extract the users from the /etc/passwd file on each:



                    #!/bin/sh

                    outfile=/tmp/outfile
                    serverlist=servers.list

                    tmpfile=$( mktemp )

                    while read -r server; do
                    ssh -n "$server" cat /etc/passwd |
                    cut -d : -f 1 |

                    echo '****************'
                    printf '%snn' "$server"
                    cat
                    |
                    awk -F '|' -f append_column.awk "$tmpfile" >"$outfile"
                    cp "$outfile" "$tmpfile"
                    done <"$serverlist"

                    awk -F '|' ' for (i=1; i<=NF; ++i) $i = sprintf("%-20s", $i); print ' "$tmpfile" >"$outfile"

                    rm -f "$tmpfile"


                    Here, append_column.awk is a file consisting of the awk program at the top of this answer.



                    The script reads the $serverlist file in a loop and calls ssh -n to get the /etc/passwd file. The -n option is needed with ssh as ssh would otherwise read from the same $serverlist file as the loop is iterating over.



                    The usernames are extracted using cut.



                    The ... bit outputs a short header, and then passes on the usernames unmodified through a call to cat.



                    The awk program is used to add columns to the output file by reading from a temporary file (which will contain the result collected so far), and the resulting data is copied back to the temporary file.



                    After the end of the loop, the file in $tmpfile (as well as $output actually) will contain the data that you want as |-delimited fields. To clean this up, we call another short in-line awk script that formats the columns of the output file as left-justified, 20 character long, text fields.






                    share|improve this answer















                    The difficult bit with this question is actually to format the output in columns.



                    Suppose that you have an existing file with|-delimited columns, and you want to append a new column to that. If you use paste as



                    paste -d '|' file newdata


                    and your file is not of the same length as the existing file, then the number of columns in the output will vary, and adding further columns would potentially make it even worse. Reading the final result would be difficult to do correctly.



                    Instead, here's an awk program that reads an existing file, and adds the data read from standard input to a new column in that file. The output will have a fixed number of columns, all the way from the first line to the last, regardless of whether the new column data has fewer or more lines than the existing data.



                    BEGIN OFS = FS 

                    FNR == 1
                    # We assume that all lines have the same number of columns.
                    nf = NF



                    # Read new column from stdin (clear col if failing).
                    if ((getline col <"/dev/stdin") != 1)
                    col = ""

                    # Add new column (possibly empty) and print.
                    $(nf + 1) = col
                    print


                    END
                    # We only need to do something here if the new column
                    # data is longer than the existing data.

                    $0 = "" # Clear current line.

                    # Add data from stdin until there is no more to read.
                    while ((getline col <"/dev/stdin") == 1)
                    $(nf + 1) = col
                    print




                    Ok, let us then use this to create a small shell script that will SSH over to a number of servers, whose names are listed in a file, and extract the users from the /etc/passwd file on each:



                    #!/bin/sh

                    outfile=/tmp/outfile
                    serverlist=servers.list

                    tmpfile=$( mktemp )

                    while read -r server; do
                    ssh -n "$server" cat /etc/passwd |
                    cut -d : -f 1 |

                    echo '****************'
                    printf '%snn' "$server"
                    cat
                    |
                    awk -F '|' -f append_column.awk "$tmpfile" >"$outfile"
                    cp "$outfile" "$tmpfile"
                    done <"$serverlist"

                    awk -F '|' ' for (i=1; i<=NF; ++i) $i = sprintf("%-20s", $i); print ' "$tmpfile" >"$outfile"

                    rm -f "$tmpfile"


                    Here, append_column.awk is a file consisting of the awk program at the top of this answer.



                    The script reads the $serverlist file in a loop and calls ssh -n to get the /etc/passwd file. The -n option is needed with ssh as ssh would otherwise read from the same $serverlist file as the loop is iterating over.



                    The usernames are extracted using cut.



                    The ... bit outputs a short header, and then passes on the usernames unmodified through a call to cat.



                    The awk program is used to add columns to the output file by reading from a temporary file (which will contain the result collected so far), and the resulting data is copied back to the temporary file.



                    After the end of the loop, the file in $tmpfile (as well as $output actually) will contain the data that you want as |-delimited fields. To clean this up, we call another short in-line awk script that formats the columns of the output file as left-justified, 20 character long, text fields.







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Mar 21 at 14:12

























                    answered Mar 16 at 18:44









                    KusalanandaKusalananda

                    140k17261434




                    140k17261434





















                        0














                        You can try by below method



                        for i in `cat serverlist`
                        do
                        echo " "| sed "s/.*/====================================/g"
                        echo $i
                        ssh -o 'StrictHostKeyChecking no' $i -A "cat /etc/passwd| awk -F ':' 'print $1'">$i_host_username_details.txt
                        done
                        paste *_host_username_details.txt





                        share|improve this answer



























                          0














                          You can try by below method



                          for i in `cat serverlist`
                          do
                          echo " "| sed "s/.*/====================================/g"
                          echo $i
                          ssh -o 'StrictHostKeyChecking no' $i -A "cat /etc/passwd| awk -F ':' 'print $1'">$i_host_username_details.txt
                          done
                          paste *_host_username_details.txt





                          share|improve this answer

























                            0












                            0








                            0







                            You can try by below method



                            for i in `cat serverlist`
                            do
                            echo " "| sed "s/.*/====================================/g"
                            echo $i
                            ssh -o 'StrictHostKeyChecking no' $i -A "cat /etc/passwd| awk -F ':' 'print $1'">$i_host_username_details.txt
                            done
                            paste *_host_username_details.txt





                            share|improve this answer













                            You can try by below method



                            for i in `cat serverlist`
                            do
                            echo " "| sed "s/.*/====================================/g"
                            echo $i
                            ssh -o 'StrictHostKeyChecking no' $i -A "cat /etc/passwd| awk -F ':' 'print $1'">$i_host_username_details.txt
                            done
                            paste *_host_username_details.txt






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Mar 10 at 12:45









                            Praveen Kumar BSPraveen Kumar BS

                            1,7391311




                            1,7391311



























                                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%2f505116%2fprint-ssh-loop-output-column-wise%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?

                                Bahrain

                                Postfix configuration issue with fips on centos 7; mailgun relay