vandys@sequent.com (Andrew Valencia) (06/27/91)
I use MH through its shell command interface, and I've always missed a function to shuffle everything down so that the message numbers start from 1 and count up by 1. I finally wrote a shell script to help myself, and here it is! Standard disclaimer, use at your own risk. Andy Valencia vandys@sequent.com #!/bin/sh # # Utility to repack an MH folder. Assumes your folders are in ~/Mail. # if [ ! -d $HOME/Mail ] then echo "I don't know how to find your mh folder directory" exit 1 fi for x do folder=`expr $x : '+\(.*\)' \| $x` echo "Repacking $folder...\c" cd $HOME/Mail if [ ! -d $folder ] then echo " no such folder" exit 1 fi cd $folder files=`/bin/ls [0-9]* | sed '/^[0-9]*$/!d' | sort -n` echo "" cnt=1 for y in $files do echo " $y -> $cnt" if [ $y -ne $cnt ] then mv $y $cnt fi cnt=`expr $cnt + 1` done done exit 0
bagchi@eecs.umich.edu (Ranjan Bagchi) (06/27/91)
#!/bin/sh
folder -pack $*
-rj
--
--------------------------------------------------------------------------------
Ranjan Bagchi - asleep...... | v,i,j,k,l,s,a[99];
bagchi@eecs.umich.edu | main() {
------------------------------- for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i],k=i<s,j+=(v=j<s&&(!k&&!!printf(2+"\n\n%c"-(!l<<!j)," #Q"[l^v?(l^j)&1:2])&&++l||a[i]<s&&v&&v-i+j&&v+i-j))&&!(l%=s),v||(i==j?a[i+=k]=0:++a[i])>=s*k&&++a[--i]) ;
} /* Osovlanski and Nissenbaum */
--------------------------------------------------------------------------------
jb3o+@andrew.cmu.edu (Jon Allen Boone) (06/27/91)
better yet try: man mh and then man folder
ken@csis.dit.csiro.au (Ken Yap) (06/28/91)
Or ln (-s) `which folder` ~/bin/repack In .mh_profile: repack: -pack