Как отметил @tshiono в комментарии выше, ваши требования несколько расплывчаты ... если порядок важен, мое решение не будет работать для вас.
$ cat file
Data
Output
Output\Results
Output\Results\head
Output\Results\head\main\index.html
Output\Results\footer
И немного неловко awk
:
$ <file LC_ALL=C sort | awk 'BEGIN{x=""} {split( $0, a, "\\" );b=a[1]; for(i=2; i<=length(a) ; i++) {if(a[i]!~/\./){b=b "\\" a[i]};$0=b}; ; if(!index($0,x)){print x};x=$0}END{print x'
Data
Output\Results\footer
Output\Results\head\main
Редактировать 1:
Измененный ввод значительно упрощает awk (пока оригинал все еще работает):
<file LC_ALL=C sort | awk 'BEGIN{x=""} {if(!index($0,x)){print x};x=$0}END{print x}'
Data
Output\Results\footer
Output\Results\head\main