1*1b481fc3SMaciej Żenczykowski# 2*1b481fc3SMaciej Żenczykowski# We need to use bash for its associative array facility 3*1b481fc3SMaciej Żenczykowski# 4*1b481fc3SMaciej Żenczykowski[ "$BASH" ] || exec bash $0 5*1b481fc3SMaciej Żenczykowski# 6*1b481fc3SMaciej Żenczykowski# (`bash -p` prevents import of functions from the environment). 7*1b481fc3SMaciej Żenczykowski# 8*1b481fc3SMaciej Żenczykowskiset -p 9*1b481fc3SMaciej Żenczykowski 10*1b481fc3SMaciej Żenczykowskideclare -A renamed_page 11*1b481fc3SMaciej Żenczykowski 12*1b481fc3SMaciej Żenczykowskimain(){ set -e; cd man/man3; rm -f _* 13*1b481fc3SMaciej Żenczykowski count_real_pages 14*1b481fc3SMaciej Żenczykowski rename_real_pages 15*1b481fc3SMaciej Żenczykowski make_symlinks 16*1b481fc3SMaciej Żenczykowski} 17*1b481fc3SMaciej Żenczykowski 18*1b481fc3SMaciej Żenczykowskicount_real_pages(){ page_count=0 19*1b481fc3SMaciej Żenczykowski for i in $(ls -S) 20*1b481fc3SMaciej Żenczykowski do head -n1 $i | grep -E -q '^\.so' && break 21*1b481fc3SMaciej Żenczykowski page_count=$(($page_count + 1)) 22*1b481fc3SMaciej Żenczykowski done 23*1b481fc3SMaciej Żenczykowski first_link=$(($page_count + 1)) 24*1b481fc3SMaciej Żenczykowski} 25*1b481fc3SMaciej Żenczykowski 26*1b481fc3SMaciej Żenczykowskirename_real_pages(){ for i in $(ls -S | head -n$page_count) 27*1b481fc3SMaciej Żenczykowski do for j in $(ls -S | tail -n+$first_link) 28*1b481fc3SMaciej Żenczykowski do grep -E -q $i$ $j && break 29*1b481fc3SMaciej Żenczykowski done 30*1b481fc3SMaciej Żenczykowski mv -f $i $j 31*1b481fc3SMaciej Żenczykowski renamed_page[$i]=$j 32*1b481fc3SMaciej Żenczykowski done 33*1b481fc3SMaciej Żenczykowski} 34*1b481fc3SMaciej Żenczykowski 35*1b481fc3SMaciej Żenczykowskimake_symlinks(){ for j in $(ls -S | tail -n+$first_link) 36*1b481fc3SMaciej Żenczykowski do ln -sf ${renamed_page[$(cat $j | cut -f2 -d/)]} $j 37*1b481fc3SMaciej Żenczykowski done 38*1b481fc3SMaciej Żenczykowski} 39*1b481fc3SMaciej Żenczykowski 40*1b481fc3SMaciej Żenczykowskimain 41