让我有一个包含如下数据的文件:
-ab-a--a-- 1 abcd abcd 934M Nov 2 00:14 abc_de-123.456.xyz-2022-11-02_1234567890.zip
-ab-a--a-- 1 abcd abcd 45M Nov 2 01:39 abc_de-123.456.xyz-2022-11-02_1234567890.zip
-ab-a--a-- 1 abcd abcd 7.1G Nov 12 02:35 abc_de-123.456.xyz-2022-11-12_1234567890.zip
-ab-a--a-- 1 abcd abcd 1020M Nov 9 03:32 abc_de-123.456.xyz-2022-11-09_1234567890.zip
-ab-a--a-- 1 abcd abcd 1.1G Nov 12 04:32 abc_de-123.456.xyz-2022-11-12_1234567890.zip
-ab-a--a-- 1 abcd abcd 1010G Nov 7 05:35 abc_de-123.456.xyz-2022-11-07_1234567890.zip
-ab-a--a-- 1 abcd abcd 2.0G Nov 12 06:41 abc_de-123.456.xyz-2022-11-12_1234567890.zip
那么如何将时间和 zip 文件名存储在该文件的数组中呢?某些行中有不同数量的空间。
我试过这段代码:
readarray -t time_array <<< "cut -d ' ' -f 9 filename)"
readarray -t zip_array <<< "cut -d ' ' -f 10 filename)"
此代码仅当有相同数量的 < space > 作为列分隔符但在文件中没有与列分隔符相同的空格数时才有效
我想要的输出为:
时间数组包含:
00:14
01:39
02:35
03:32
04:32
05:35
06:41
和
zip_array 包含:
abc_de-123.456.xyz-2022-11-02_1234567890.zip
abc_de-123.456.xyz-2022-11-02_1234567890.zip
abc_de-123.456.xyz-2022-11-12_1234567890.zip
abc_de-123.456.xyz-2022-11-09_1234567890.zip
abc_de-123.456.xyz-2022-11-12_1234567890.zip
abc_de-123.456.xyz-2022-11-07_1234567890.zip
abc_de-123.456.xyz-2022-11-12_1234567890.zip