perl -pe " s#(\w)(\w+)(\w)#join$,,$1,sort({(-1,1)[rand 2]}split$,,$2),$3#ge" #12345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 6 234