shell脚本,用于查找与字符串匹配的文件夹(包含子文件夹)中的文件名

时间:2013-03-05 11:03:46

标签: bash shell filesystems

我想编写一个shell脚本,将文件名与我在运行时在命令行中输入的给定字符串相匹配。我希望能够匹配文件名中的模式。 就像字符串是'questi'并且文件夹包含'question1.c','question2.c',questions.doc'那些应该显示为答案。

2 个答案:

答案 0 :(得分:1)

脚本可以简单如下:

$!/bin/bash
shopt -s nullglob    # To return nothing if there is no match.
echo *$1*

然后将其称为script.sh questi

答案 1 :(得分:1)

使用find

可以实现
find /path/to/directory -type f -iname "*questi*"

选项-type f导致只返回文件而-iname对glob *questi*进行不区分大小写的匹配,因此应返回'question1.txt','five_questions.txt'等

如果您希望可以将其放在shell脚本中,请执行以下操作:

#!/bin/sh
find $1 -type f -iname "*$2*"

并称之为:filefind.sh /path/to/directory questi