Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何从多个文件夹和特定子文件夹中检索文件路径?_Bash_Loops_Unix - Fatal编程技术网

Bash 如何从多个文件夹和特定子文件夹中检索文件路径?

Bash 如何从多个文件夹和特定子文件夹中检索文件路径?,bash,loops,unix,Bash,Loops,Unix,(Unix) 我需要将目录和子目录中的文件移动到存储目录。文件夹结构为: Main_folder: Folder1 > Inbox > File1 > Outbox Folder2 > Inbox > File2 > Outbox Folder3 > Inbox > File3 > Outbox

(Unix)

我需要将目录和子目录中的文件移动到存储目录。文件夹结构为:

Main_folder: Folder1 > Inbox > File1
                 > Outbox
         Folder2 > Inbox > File2
                 > Outbox
         Folder3 > Inbox > File3
                 > Outbox
         ....
我只需要从收件箱文件夹中移动文件。我必须做一个循环吗?如果是这样,我将如何向现有脚本中添加循环

多谢各位

我目前有BASE_DIR=“Main_folder/*/Inbox”,但它没有遍历其余的文件夹

#!/bin/bash

BASE_DIR="Main_folder/*/Inbox"

TARGET_DIR="$2"



find "$BASE_DIR" -type f -name "*.txt" | while IFS= read -r file; do

year="$(date -d "$(stat -c %z "$file")" +%Y)"

month="$(date -d "$(stat -c %z "$file")" +%m)"

day="$(date -d "$(stat -c %z "$file")" +%d)"



mv --backup=t "$file" "$TARGET_DIR/$year/$month/$day"



enter code here

done

您已经拥有了所需的循环。问题是全球经济没有得到扩张

#/bin/bash
base_dir=“Main_folder/*/Inbox”
target_dir=“$2”
查找$base_dir-type f-name“*.txt”|而IFS=read-r文件;做

read-r年-月-日<如何<代码>cd主文件夹;mv*/Inbox/*“$TARGET_DIR/$year/$month/$day”