BASH - 搜索具有特定模式-RECURSIVELY的目录中存在的特定模式的文件

时间:2016-05-19 08:33:06

标签: bash recursion

我要求编写脚本,递归搜索与模式“ .foo”匹配的文件。但是目录中存在的匹配相同模式“ .foo”的唯一文件。 我试过了: 脚本名称:search_for_foo

function foo_search {
 while read line; do
    echo "$line”   
 done < "$1"
 }
 for file in ${*:1}; do
  if [[ $file == *.foo* ]]; then
    if [[ -f "$file" ]]; then
       foo_search $file
       fi
       if [[ -d "$file" ]]; then
       search_for_foo $file/*
       fi
    fi
    done <"$1"

它必须以这种方式工作:./ search_for_foo --some_file -

提前致谢

2 个答案:

答案 0 :(得分:1)

你的意思是

find -path "*foo/*/foo"

答案 1 :(得分:0)

location=$1
pattern=$2

dir=$(find $location -type d -name "*.$pattern")

ls -lrt $dir|grep ^- |awk '{print $NF}'

像./script.sh / location / directory / pattern

一样运行