Bash查找函数Ubuntu - 在目录树中查找与其目录同名的文件

时间:2016-06-02 09:41:58

标签: bash ubuntu find

我想找到并打印目录树中的文件,这些文件的sname名称为他们的dirs。

到目前为止,这是我的代码:

#!bin/bash
if [ $# -eq 0 ]
then
    echo "No args"
fi

if [[ -d $1 ]] #if its dir
then
    find $1 -type f | (while read var1 #for every regular file in dir tree
        do

        if [[ -f $var1 ]] 
        then
            echo $var1 #full path
            # I dont know how to get the dir name
            echo $(basename $var1) #file name
            echo

#then compare it and print full path
        fi
    done)
fi

我想在bash linux中使用FIND函数来做这件事。感谢

1 个答案:

答案 0 :(得分:3)

您可以将此脚本与find

一起使用
while IFS= read -rd '' f; do
   d="${f%/*}"
   [[ ${d##*/} == ${f##*/} ]] && echo "$f"
done < <(find . -type f -print0)