All pastes #831633 Raw Edit

Stuff

public text v1 · immutable
#831633 ·published 2007-12-25 05:40 UTC
rendered paste body
#!/bin/bash

use_defs="yes"
def_lim="New"

while getopts ":hn:p:" opts; do
	case $opts in
		h )
			echo "mpfind is a simple script to make it simple to deal with mpd"
			echo "The only options for it are as follows:"
			echo "-h :: This help output"
			echo "-n :: Remove entries that match <string> from the results"
			echo "-p :: Search within known playlist for <string>"
			exit 0;;
		n ) limit=$OPTARG;;
		p ) playlist=$OPTARG;;
		* )
			echo "Please supply a valid arguement to mpfind."
			echo "The only options for it are as follows:"
			echo "-h :: The help file"
			echo "-n :: Remove entries that match <string> from the results"
			echo "-p :: Search within known playlist for <string>"
			exit 1;;
	esac
done

shift $(($OPTIND -1))

if [ $playlist ]; then
	excommand="mpc lsplaylists | sed -n -e '/$playlist/p'"
else
	excommand="mpc listall"
fi

if [ $limit ]; then
	excommand="$excommand | sed -e '/$limit/d'"
else
	if [ "$use_defs" = "yes" -a -z "$playlist" ]; then
		excommand="$excommand | sed -e '/$def_lim/d'"
	fi
fi

for entry; do
	excommand="$excommand | sed -n -e '/$entry/p'"
done

eval "$excommand"