find bash命令返回./,如何遍历每个文件?

时间:2019-05-17 23:54:43

标签: bash

我正在Docker容器中运行bash脚本。 我所有的文件都位于工作区/应用程序目录中。

我进入/ app并使用find命令查找每个文件的目录路径。

问题是当我使用pylint时,文件名返回./directory_name/file_name.py.

我如何获得... workspace/directory_name/file_name.py

#!/bin/bash

awd="$(pwd)app"
lint_path="${awd}/.pylintrc"
>>> cd /app
for file in $(find . -name '*.py' -type d); do
        filename=$(basename $file)
        if [[ $filename != "__init__.py" ]] ; then
                echo "$file"
                ^ prints "./directory__name/file_name.py
                How can I get "/app/directory_name/file_name.py"????
        fi
done

1 个答案:

答案 0 :(得分:2)

使用find.find "$PWD"的绝对路径。

另外,使用while read代替for

while read file; do
...
done < <(find "$PWD" -name '*.py' -type d)