[alt.sources] MH folder repack

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