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