【发布时间】:2020-09-11 16:53:37
【问题描述】:
我有一个动态填充的文件,其中包含一些日期,每行一个,如下所示:
20190807
20190806
20190805
20190804
我创建了一个脚本来逐行读取文件,并将存在的文件列表提取到另一个目录中:
FILEMASTER="lista_master"
while IFS= read -r line
do
ls -tr /var/home/test/*_"$line"_*.jpg | head -n2 >> lista_test
done < "$FILEMASTER"
这个脚本没问题,创建一个文件 (lista_test),包含每个日期的最后两个 .jpg 文件。输出样本:
/var/home/test/MAN_20190804_jolly1.jpg
/var/home/test/CAT_20190804_selly2.jpg
/var/home/test/RET_20190805_jolly1.jpg
/var/home/test/GES_20190805_angyt2.jpg
/var/home/test/TOR_20190806_jolly1.jpg
/var/home/test/GIL_20190806_gally2.jpg
/var/home/test/POE_20190807_frity1.jpg
/var/home/test/TAR_20190807_tally2.jpg
我的问题是这样的:
我应该为每个提取行提取不同的结果文件)“lista_test1”、“lista_test2”、“lista_test3”、“lista_test4”等)。不是一个文件中的所有文件。
【问题讨论】:
-
根据什么条件lista_test需要拆分成lista_test1、lista_test2等?是否应该将 lista_test 的每一行提取到一个新文件中?
-
欢迎来到 SO,我编辑了您的问题以使其更易于理解。请接tour,阅读How to Ask和minimal reproducible example。
-
只需在循环前添加一个计数器。并在循环内增加它并在输出文件中添加计数器。
-
counter=1; while .....; do .... > "lista_test$counter"; ((counter++)); done < "$file_master"