用于在递归扫描目录的for循环中获取相对路径的脚本

Script to get the relative path in a for loop which recursively scans a directory

假设我们使用for循环扫描一个目录(folder0):

for element in $(ls) ...

此目录可能包含文件和子文件夹,其中可能包含文件和子文件夹等。

假设当我们在 for 循环中得到一个 folder 元素时,我们对相对于 folder0 的路径感兴趣。例如,如果我们有绝对路径

irrelevant_part/folder0/remaining_part/folderN

相关部分将是

folder0/remaining_part/folderN.

我们怎样才能获得这个结果,以便将它分配给一个变量,以便在脚本的其余部分使用?

编辑

我要求不要将此问题视为与我所指出的问题重复,因为它不适合我的问题。

一个可能的解决方案是:

cd irrelevant_part/folder0
for element in $(ls -R)
do
    if [[ $element == *"."* ]]; then
        f0=folder0
        abbr_path=$element
        # Substituting . with folder0 in the abbreviated path
        abbr_path="${abbr_path/./$f0}"
        nul=""
       # Substituting : with null in the abbreviated path
        requested_path="${abbr_path/:/$nul}"
    fi
done

假设唯一名称:

my_var="$(find .  -type d -name folderN 2>/dev/null|awk -F\folder0\/ '/folder0\//{print FS}')"