Good day,
I have a file which displays like this:
Bin 1 = 5778 669 753 731 743 752 727 736 667
Bin 5 = 2 2 0 0 0 0 0 0 0 Bin 7 = 63 36 5 1 1 5 1 5 9
Bin 9 = 0 0 0 0 0 0 0 0 0 Bin 24 = 2 0 0 0 0 0 0 0 2
Bin 31 = 0 0 0 0 0 0 0 0 0 Bin 47 = 28 2 4 6 1 2 5 3 5
Bin 70 = 1 0 0 0 0 0 1 0 0 Bin 95 = 1 0 1 0 0 0 0 0 0
Bin 120 = 1 0 1 0 0 0 0 0 0 Bin 121 = 162 49 13 11 10 3 10 12 54
Bin 131 = 7 1 1 2 0 0 1 0 2 Bin 133 = 3 0 0 0 0 0 0 0 3
Bin 141 = 6 0 0 0 1 0 1 2 2 Bin 560 = 1 0 0 0 1 0 0 0 0
Bin 620 = 1 0 0 0 1 0 0 0 0 Bin 630 = 2 0 0 1 0 0 0 0 1
Bin 1250 = 1 0 0 0 0 0 1 0 0 Bin 1410 = 1 0 1 0 0 0 0 0 0
Bin 2004 = 1 0 0 0 0 0 0 1 0 Bin 2240 = 1 0 0 0 0 1 0 0 0
Bin 2247 = 1 0 0 1 0 0 0 0 0 Bin 2300 = 1 0 0 0 0 1 0 0 0
Bin 2309 = 1 0 0 0 1 0 0 0 0 Bin 2310 = 3 1 1 0 0 0 0 0 1
Bin 2602 = 1 0 0 0 1 0 0 0 0
I would like to cut the 2nd "Bin" pattern along with it's value on the right side and paste it at the bottom of the file and then sort it later. Appreciate your help on this problem of mine. Im just new in unix commands and still learning it. Thanks in advance.
I would like to have an output like this.
Bin 1 = 5778 669 753 731 743 752 727 736 667
Bin 5 = 2 2 0 0 0 0 0 0 0
Bin 7 = 63 36 5 1 1 5 1 5 9
Bin 9 = 0 0 0 0 0 0 0 0 0
Bin 24 = 2 0 0 0 0 0 0 0 2
Bin 31 = 0 0 0 0 0 0 0 0 0
Bin 47 = 28 2 4 6 1 2 5 3 5
Bin 70 = 1 0 0 0 0 0 1 0 0
Bin 95 = 1 0 1 0 0 0 0 0 0
Bin 120 = 1 0 1 0 0 0 0 0 0
Bin 121 = 162 49 13 11 10 3 10 12 54
Bin 131 = 7 1 1 2 0 0 1 0 2
Bin 133 = 3 0 0 0 0 0 0 0 3
Bin 141 = 6 0 0 0 1 0 1 2 2
Bin 560 = 1 0 0 0 1 0 0 0 0
Bin 620 = 1 0 0 0 1 0 0 0 0
Bin 630 = 2 0 0 1 0 0 0 0 1
Bin 1250 = 1 0 0 0 0 0 1 0 0
Bin 1410 = 1 0 1 0 0 0 0 0 0
Bin 2004 = 1 0 0 0 0 0 0 1 0
Bin 2240 = 1 0 0 0 0 1 0 0 0
Bin 2247 = 1 0 0 1 0 0 0 0 0
Bin 2300 = 1 0 0 0 0 1 0 0 0
Bin 2309 = 1 0 0 0 1 0 0 0 0
Bin 2310 = 3 1 1 0 0 0 0 0 1
Bin 2602 = 1 0 0 0 1 0 0 0 0
regard,Mike
Short awk approach:
awk 'NF>12{ $13= ORS $13 }1' file | column -t
NF
- total number of fields
NF>12
- according to your expected result the maximal number of fields is 12. Non-whitespace sequence is treated as a field
$13= ORS $13
- breaking up the record at 13th field with record separator ORS
(newline character)
The output:
Bin 1 = 5778 669 753 731 743 752 727 736 667
Bin 5 = 2 2 0 0 0 0 0 0 0
Bin 7 = 63 36 5 1 1 5 1 5 9
Bin 9 = 0 0 0 0 0 0 0 0 0
Bin 24 = 2 0 0 0 0 0 0 0 2
Bin 31 = 0 0 0 0 0 0 0 0 0
Bin 47 = 28 2 4 6 1 2 5 3 5
Bin 70 = 1 0 0 0 0 0 1 0 0
Bin 95 = 1 0 1 0 0 0 0 0 0
Bin 120 = 1 0 1 0 0 0 0 0 0
Bin 121 = 162 49 13 11 10 3 10 12 54
Bin 131 = 7 1 1 2 0 0 1 0 2
Bin 133 = 3 0 0 0 0 0 0 0 3
Bin 141 = 6 0 0 0 1 0 1 2 2
Bin 560 = 1 0 0 0 1 0 0 0 0
Bin 620 = 1 0 0 0 1 0 0 0 0
Bin 630 = 2 0 0 1 0 0 0 0 1
Bin 1250 = 1 0 0 0 0 0 1 0 0
Bin 1410 = 1 0 1 0 0 0 0 0 0
Bin 2004 = 1 0 0 0 0 0 0 1 0
Bin 2240 = 1 0 0 0 0 1 0 0 0
Bin 2247 = 1 0 0 1 0 0 0 0 0
Bin 2300 = 1 0 0 0 0 1 0 0 0
Bin 2309 = 1 0 0 0 1 0 0 0 0
Bin 2310 = 3 1 1 0 0 0 0 0 1
Bin 2602 = 1 0 0 0 1 0 0 0 0