在find命令中省略目录名称

时间:2014-12-07 23:40:34

标签: bash find

我有一个cgi脚本调用服务器端bash脚本将一首歌曲(在cgi页面的文本框中输入)添加到rhythmbox队列。 我能用

做到这一点
name=`echo "$*" | sed 's/+/*/g'`
rhythmbox-client --enqueue *$name*

然而,rhythmbox-client --enqueue是区分大小写的,这意味着如果歌曲/乐队名称有大写字母,并且用户没有在cgi脚本中输入带有大写字母的那个字母,那么它将不起作用。 我还有一个单独的命令来搜索我的音乐目录中的给定歌曲/乐队名称......

search=`find -iname *\$name\*`
if [ "$search" = "" ];
  then echo "No song found."
  else echo "The following songs have been added to the queue: $search"
fi

我想知道是否有任何方法可以从查找结果中删除目录,然后我可以简单地将其传输到var中以与--enqueue命令一起使用,因为可以告诉find命令忽略captialization senesativity

1 个答案:

答案 0 :(得分:0)

这个怎么样。

search=`find -iname *\$name\* -type f -printf "%P\n"`