以下是一个示例的 Shell 脚本,用于合并一周内不同日期下的文件夹内的 TXT 数据文件:
#!/bin/bash
# 要合并的日期范围
start_date="2021-10-01"
end_date="2021-10-07"
# 合并后的文件路径和名称
output_file="merged_data.txt"
# 遍历日期范围内的文件夹
current_date=$start_date
while [[ "$current_date" < "$end_date" || "$current_date" == "$end_date" ]]
do
# 当前日期的文件夹路径
folder_path="/path/to/folders/$current_date"
# 检查文件夹是否存在
if [ -d "$folder_path" ]; then
# 遍历文件夹内的所有 TXT 文件
for file in $folder_path/*.txt
do
# 合并文件
cat "$file" >> "$output_file"
done
fi
# 增加一天,进入下一个日期
current_date=$(date -d "$current_date + 1 day" +"%Y-%m-%d")
done
在上述示例中,您需要将以下变量替换为适用于您的情况的实际值:
-
start_date
:要合并的日期范围的起始日期。 -
end_date
:要合并的日期范围的结束日期。 -
output_file
:合并后的文件的路径和名称。
示例脚本使用了一个循环来遍历指定日期范围内的文件夹。在每个日期的文件夹中,它会遍历所有的 TXT 文件,并使用 cat
命令将它们合并到一个文件中。最后,所有 TXT 文件内容都会合并为一个 TXT 文件。
请根据实际情况修改脚本中的路径和文件名,确保文件夹路径和文件的名称正确。