【发布时间】:2021-03-14 19:31:56
【问题描述】:
我有很多来自数据记录器(波形)的按小时排序的日常文件。我是在 U 盘中下载的,现在我需要将它们保存在以波形前 8 个字符命名的文件夹中。
这些文件具有以下模式:
年-月-日-时分-##.Code_Station_location_Channel
例如,在我的 USB 内部:
2020-10-01-0000-03.AM_REDDE_00_EHE; 2020-10-01-0100-03.AM_REDDE_00_EHE; 2020-10-02-0300-03.AM_REDDE_00_EHE; 2020-10-20-0000-03.AM_REDDE_00_EHE; 2020-10-20-0100-03.AM_REDDE_00_EHE; 2020-11-15-2000-03.AM_REDDE_00_EHE; 2020-11-15-2100-03.AM_REDDE_00_EHE; 2020-11-19-0400-03.AM_REDDE_00_EHE; 2020-11-19-0900-03.AM_REDDE_00_EHE;
我修改了@user3360767 (shell script to create folder daily with time-stamp and push time-stamp generated logs) 的一些代码,以加快创建文件夹并将文件移动到其中的过程
for filename in 2020-10-01*EHE; do
foldername=$(echo "$filename" | awk '{print (201001)}');
mkdir -p "$foldername"
mv "$filename" "$foldername"
echo "$filename $foldername" ;
done
2020-10-01*EHE
这里我列出了从 2020-10-01-0000-03.AM_REDDE_00_EHE 开始的所有时间
文件夹名=$(echo "$filename" | awk '{print (201001)}');
在这里我创建属于 2020-10-01 的文件夹,并使用以下行创建文件夹,然后将所有文件移动到创建的文件夹。
mkdir -p "$foldername"
mv "$filename" "$foldername"
echo "$filename $foldername" ;
您可能注意到,每次文件更改日期时,我总是需要修改for filename in 2020-10-01*EHE 行。
有没有办法尝试使用文件的前 8 个数字创建文件夹?
托尼诺
【问题讨论】:
-
你的问题很难理解......它只是引发了一堆不起作用的东西。也许你可以点击它下面的
edit并从你真正想要实现的目标开始更新它。您想每天早上/晚上/每周/每月自动移动一些文件吗?这些文件是由另一个程序创建的?它们需要根据文件名中的日期(或日期和时间?)(或取决于系统日期?)被移动(或复制?)到新文件夹... -
我的回答或其他人是否解决了您的问题?如果是这样,请考虑接受它作为您的答案 - 通过单击计票旁边的空心对勾/复选标记。如果没有,请说出什么不起作用,以便我或其他人可以进一步帮助您。谢谢。 meta.stackexchange.com/questions/5234/…