I got the following script from stack overflow :
#!/bin/sh
in_file=temp2.txt # Input file
params=6 # Parameters count
res_file=$(mktemp) # Temporary file
sep=' ' # Separator character
# Print header
cnt=0
for i in $(cat $in_file | head -$((params*2))); do
if [ $((cnt % 2)) -eq 0 ]; then
echo $i
fi
cnt=$((cnt+1))
done | sed ":a;N;\$!ba;s/\n/$sep/g" >>$res_file
# Parse and print values
cnt=0
for i in $(cat $in_file); do
# Print values, skip param names
if [ $((cnt % 2)) -eq 1 ]; then
echo -n $i >>$res_file
fi
if [ $(((cnt+1) % (params*2))) -eq 0 ]; then
# Values line is finished, print newline
echo >>$res_file
elif [ $((cnt % 2)) -eq 1 ]; then
# More values expected to be printed on this line
echo -n "$sep" >>$res_file
fi
cnt=$((cnt+1))
done
# Make nice table format
cat $res_file | column -t
#rm -f $res_file
But then i have about 100 + lines in it and i'm getting a error**"column: line too long"** as below :
****column: line too long**** GigabitEthernet0/0 GigabitEthernet1/0/3 GigabitEthernet1/0/5 GigabitEthernet1/0/10 GigabitEthernet1/0/19 GigabitEthernet1/0/33 GigabitEthernet1/0/2
GigabitEthernet1/0/4 GigabitEthernet1/0/7 GigabitEthernet1/0/18 GigabitEthernet1/0/30 GigabitEthernet1/0/44 GigabitEthernet1/0/46 GigabitEthernet1/1/3 GigabitEthernet2/0/1 GigabitEthernet2/0/5
GigabitEthernet2/0/9 GigabitEthernet2/0/14 GigabitEthernet2/0/18 GigabitEthernet2/0/31 GigabitEthernet2/0/34 GigabitEthernet2/0/36 GigabitEthernet2/0/40 GigabitEthernet2/1/3 GigabitEthernet3/0/12 GigabitEthernet3/0/30 GigabitEthernet3/0/32 GigabitEthernet3/0/34 GigabitEthernet3/0/36 GigabitEthernet3/0/38 GigabitEthernet3/0/40 GigabitEthernet3/0/42 GigabitEthernet3/0/44 GigabitEthernet3/0/46 GigabitEthernet3/0/48 GigabitEthernet3/1/2
Any solutions you can give, i could not find the author of this script again here to ask him on this can be avoided.
Input file will be something like this :
{ GigabitEthernet0/0 GigabitEthernet1/0/2 GigabitEthernet1/0/3 GigabitEthernet1/0/4 GigabitEthernet1/0/5 GigabitEthernet1/0/7 GigabitEthernet1/0/10 GigabitEthernet1/0/18 GigabitEthernet1/0/19 GigabitEthernet1/0/30 GigabitEthernet1/0/33 GigabitEthernet1/0/44 GigabitEthernet1/0/45 GigabitEthernet1/0/46 GigabitEthernet1/1/2 GigabitEthernet1/1/3 GigabitEthernet1/1/4 GigabitEthernet2/0/1 GigabitEthernet2/0/2 GigabitEthernet2/0/5 GigabitEthernet2/0/8 GigabitEthernet2/0/9 GigabitEthernet2/0/12 GigabitEthernet2/0/14 GigabitEthernet2/0/15 GigabitEthernet2/0/18 GigabitEthernet2/0/22 GigabitEthernet2/0/31 GigabitEthernet2/0/33 GigabitEthernet2/0/34 GigabitEthernet2/0/35 GigabitEthernet2/0/36 GigabitEthernet2/0/38 GigabitEthernet2/0/40 GigabitEthernet2/1/2 GigabitEthernet2/1/3 GigabitEthernet2/1/4 GigabitEthernet3/0/12 GigabitEthernet3/0/23 GigabitEthernet3/0/30 GigabitEthernet3/0/31 GigabitEthernet3/0/32 GigabitEthernet3/0/33 GigabitEthernet3/0/34 GigabitEthernet3/0/35 GigabitEthernet3/0/36 GigabitEthernet3/0/37 GigabitEthernet3/0/38 GigabitEthernet3/0/39 GigabitEthernet3/0/40 GigabitEthernet3/0/41 GigabitEthernet3/0/42 GigabitEthernet3/0/43 GigabitEthernet3/0/44 GigabitEthernet3/0/45 GigabitEthernet3/0/46 GigabitEthernet3/0/47 GigabitEthernet3/0/48 GigabitEthernet3/1/1 GigabitEthernet3/1/2 GigabitEthernet3/1/3 GigabitEthernet3/1/4 }
Output i need something like this :
{ GigabitEthernet0/0 | GigabitEthernet1/0/33 | GigabitEthernet1/0/2 | GigabitEthernet1/0/44 | GigabitEthernet1/0/3 | GigabitEthernet1/0/43 | GigabitEthernet1/0/4 | GigabitEthernet1/0/46 | GigabitEthernet1/0/5 | GigabitEthernet1/1/2 | GigabitEthernet1/0/7 | GigabitEthernet1/1/3 | GigabitEthernet1/0/10| GigabitEthernet1/1/4 | GigabitEthernet1/0/18| GigabitEthernet2/0/1 | GigabitEthernet1/0/19| GigabitEthernet2/0/2 | GigabitEthernet1/0/30| GigabitEthernet2/0/5 | }