Home > front end >  Sort by the reverse of the words
Sort by the reverse of the words

Time:07-01

How can I sort a list of words

apple
banana
orange
healthy

by the reverse of the words, the result should be

banana
orange
apple
healthy

CodePudding user response:

Use the rev utility to reverse lines characterwise. Then rev again.

$ cat input.txt | rev | sort | rev
banana
orange
apple
healthy

Edit 1

As pointed out by @dan, the better solution is to do rev input.txt | sort | rev.

CodePudding user response:

Mostly just because it's always nice to have a chance to recall perl:

perl -nE 'push @a, scalar reverse $_  }  { print scalar reverse $_ foreach sort @a' input-file

or

perl -nE 'push @a, $_  }  { print foreach (sort { (scalar reverse $a) cmp (scalar reverse $b) } @a) ' input-file

or

perl -e 'my @a = <>; print foreach (sort { (scalar reverse $a) cmp (scalar reverse $b) } @a)' 
  • Related