Bash Deepest Path

Tagged:

Bon une fonction toute bête mais dans mon classpath il me fallait une succéssion de choses mais j'avais pas envie a chaque fois de redéfinir tout ... donc exemple :

__fichier test.sh

getCfg() {
	cfg=$1
	count=`echo $cfg | cut -d. -f2 | sed 's/\// /g' | wc -w | sed 's/ //g'`
	while [ $count -gt 1 ] ; do
		cfg=$cfg:`echo $cfg | cut -d/ -f-$count`
		count=$(($count - 1))
	done
 
	echo $cfg
} 
 
echo `getCfg $*`

Voili quelques exemples d'utilisation parce que je sais que j'ai été super clair en le décrivant :

$ ./test.sh ./bin/FileBroker/
./bin/FileBroker/:./bin
$ ./test.sh ./cfg/FileBroker/common/
./cfg/FileBroker/common/:./cfg/FileBroker:./cfg
$ ./test.sh ./cfg/FileBroker/common/truc/machin/choz
./cfg/FileBroker/common/truc/machin/choz:./cfg/FileBroker/common/truc/machin:./cfg/FileBroker/common/truc:./cfg/FileBroker/common:./cfg/FileBroker:./cfg

Si vous ne voyez aucun intérêt a cette fonction ... c'est domage pour moi ... sinon ravi de vous avoir aidé =) moi je la note ici pour backup =)

edit
Sur une sun solaris, le wc -w renvoyait " 3" j'ai rajouté un sed pour supprimer les espaces sinon rien ne marchait !