次のデータを含むファイルを作成しましょう。
-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)"
このコードは、列区切り文字と同じ数の<スペース>がありますが、ファイルの列区切り文字と同じ数のスペースがない場合にのみ機能します。
私が望む出力は次のとおりです。
時間配列には以下が含まれます。
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